JavaScript接下来的小项目

2024-09-06 06:44
文章标签 java 项目 script 接下来

本文主要是介绍JavaScript接下来的小项目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

● 接下来,我们将学习如下所示的一个小项目,这个项目是一个地图的项目,我们可以在地图上标记一些我们运动的位置进行记录,并且浏览器在本地会帮我们记录他们,其他一些功能后面慢慢阐述并实现
在这里插入图片描述

启动代码

JS代码

'use strict';// prettier-ignore
const months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];const form = document.querySelector('.form');
const containerWorkouts = document.querySelector('.workouts');
const inputType = document.querySelector('.form__input--type');
const inputDistance = document.querySelector('.form__input--distance');
const inputDuration = document.querySelector('.form__input--duration');
const inputCadence = document.querySelector('.form__input--cadence');
const inputElevation = document.querySelector('.form__input--elevation');

CSS代码

:root {--color-brand--1: #ffb545;--color-brand--2: #00c46a;--color-dark--1: #2d3439;--color-dark--2: #42484d;--color-light--1: #aaa;--color-light--2: #ececec;--color-light--3: rgb(214, 222, 224);
}* {margin: 0;padding: 0;box-sizing: inherit;
}html {font-size: 62.5%;box-sizing: border-box;
}body {font-family: 'Manrope', sans-serif;color: var(--color-light--2);font-weight: 400;line-height: 1.6;height: 100vh;overscroll-behavior-y: none;background-color: #fff;padding: 2.5rem;display: flex;
}/* GENERAL */
a:link,
a:visited {color: var(--color-brand--1);
}/* SIDEBAR */
.sidebar {flex-basis: 50rem;background-color: var(--color-dark--1);padding: 3rem 5rem 4rem 5rem;display: flex;flex-direction: column;
}.logo {height: 5.2rem;align-self: center;margin-bottom: 4rem;
}.workouts {list-style: none;height: 77vh;overflow-y: scroll;overflow-x: hidden;
}.workouts::-webkit-scrollbar {width: 0;
}.workout {background-color: var(--color-dark--2);border-radius: 5px;padding: 1.5rem 2.25rem;margin-bottom: 1.75rem;cursor: pointer;display: grid;grid-template-columns: 1fr 1fr 1fr 1fr;gap: 0.75rem 1.5rem;
}
.workout--running {border-left: 5px solid var(--color-brand--2);
}
.workout--cycling {border-left: 5px solid var(--color-brand--1);
}.workout__title {font-size: 1.7rem;font-weight: 600;grid-column: 1 / -1;
}.workout__details {display: flex;align-items: baseline;
}.workout__icon {font-size: 1.8rem;margin-right: 0.2rem;height: 0.28rem;
}.workout__value {font-size: 1.5rem;margin-right: 0.5rem;
}.workout__unit {font-size: 1.1rem;color: var(--color-light--1);text-transform: uppercase;font-weight: 800;
}.form {background-color: var(--color-dark--2);border-radius: 5px;padding: 1.5rem 2.75rem;margin-bottom: 1.75rem;display: grid;grid-template-columns: 1fr 1fr;gap: 0.5rem 2.5rem;/* Match height and activity boxes */height: 9.25rem;transition: all 0.5s, transform 1ms;
}.form.hidden {transform: translateY(-30rem);height: 0;padding: 0 2.25rem;margin-bottom: 0;opacity: 0;
}.form__row {display: flex;align-items: center;
}.form__row--hidden {display: none;
}.form__label {flex: 0 0 50%;font-size: 1.5rem;font-weight: 600;
}.form__input {width: 100%;padding: 0.3rem 1.1rem;font-family: inherit;font-size: 1.4rem;border: none;border-radius: 3px;background-color: var(--color-light--3);transition: all 0.2s;
}.form__input:focus {outline: none;background-color: #fff;
}.form__btn {display: none;
}.copyright {margin-top: auto;font-size: 1.3rem;text-align: center;color: var(--color-light--1);
}.twitter-link:link,
.twitter-link:visited {color: var(--color-light--1);transition: all 0.2s;
}.twitter-link:hover,
.twitter-link:active {color: var(--color-light--2);
}/* MAP */
#map {flex: 1;height: 100%;background-color: var(--color-light--1);
}/* Popup width is defined in JS using options */
.leaflet-popup .leaflet-popup-content-wrapper {background-color: var(--color-dark--1);color: var(--color-light--2);border-radius: 5px;padding-right: 0.6rem;
}.leaflet-popup .leaflet-popup-content {font-size: 1.5rem;
}.leaflet-popup .leaflet-popup-tip {background-color: var(--color-dark--1);
}.running-popup .leaflet-popup-content-wrapper {border-left: 5px solid var(--color-brand--2);
}
.cycling-popup .leaflet-popup-content-wrapper {border-left: 5px solid var(--color-brand--1);
}

HTML代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta http-equiv="X-UA-Compatible" content="ie=edge" /><link rel="shortcut icon" type="image/png" href="/icon.png" /><linkhref="https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&display=swap"rel="stylesheet"/><link rel="stylesheet" href="style.css" /><script defer src="script.js"></script><title>mapty // Map your workouts</title></head><body><div class="sidebar"><img src="logo.png" alt="Logo" class="logo" /><ul class="workouts"><form class="form hidden"><div class="form__row"><label class="form__label">Type</label><select class="form__input form__input--type"><option value="running">Running</option><option value="cycling">Cycling</option></select></div><div class="form__row"><label class="form__label">Distance</label><input class="form__input form__input--distance" placeholder="km" /></div><div class="form__row"><label class="form__label">Duration</label><inputclass="form__input form__input--duration"placeholder="min"/></div><div class="form__row"><label class="form__label">Cadence</label><inputclass="form__input form__input--cadence"placeholder="step/min"/></div><div class="form__row form__row--hidden"><label class="form__label">Elev Gain</label><inputclass="form__input form__input--elevation"placeholder="meters"/></div><button class="form__btn">OK</button></form><!-- <li class="workout workout--running" data-id="1234567890"><h2 class="workout__title">Running on April 14</h2><div class="workout__details"><span class="workout__icon">🏃‍♂️</span><span class="workout__value">5.2</span><span class="workout__unit">km</span></div><div class="workout__details"><span class="workout__icon">⏱</span><span class="workout__value">24</span><span class="workout__unit">min</span></div><div class="workout__details"><span class="workout__icon">⚡️</span><span class="workout__value">4.6</span><span class="workout__unit">min/km</span></div><div class="workout__details"><span class="workout__icon">🦶🏼</span><span class="workout__value">178</span><span class="workout__unit">spm</span></div></li><li class="workout workout--cycling" data-id="1234567891"><h2 class="workout__title">Cycling on April 5</h2><div class="workout__details"><span class="workout__icon">🚴‍♀️</span><span class="workout__value">27</span><span class="workout__unit">km</span></div><div class="workout__details"><span class="workout__icon">⏱</span><span class="workout__value">95</span><span class="workout__unit">min</span></div><div class="workout__details"><span class="workout__icon">⚡️</span><span class="workout__value">16</span><span class="workout__unit">km/h</span></div><div class="workout__details"><span class="workout__icon">⛰</span><span class="workout__value">223</span><span class="workout__unit">m</span></div></li> --></ul><p class="copyright">&copy; Copyright by<aclass="twitter-link"target="_blank"href="https://twitter.com/jonasschmedtman">Jonas Schmedtmann</a>. Use for learning or your portfolio. Don't use to teach. Don't claimas your own.</p></div><div id="map"></div></body>
</html>

好了,下篇文章和大家一起来学习这个小小的项目吧!

这篇关于JavaScript接下来的小项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1141295

相关文章

SpringBoot项目中Maven剔除无用Jar引用的最佳实践

《SpringBoot项目中Maven剔除无用Jar引用的最佳实践》在SpringBoot项目开发中,Maven是最常用的构建工具之一,通过Maven,我们可以轻松地管理项目所需的依赖,而,... 目录1、引言2、Maven 依赖管理的基础概念2.1 什么是 Maven 依赖2.2 Maven 的依赖传递机

SpringBoot实现动态插拔的AOP的完整案例

《SpringBoot实现动态插拔的AOP的完整案例》在现代软件开发中,面向切面编程(AOP)是一种非常重要的技术,能够有效实现日志记录、安全控制、性能监控等横切关注点的分离,在传统的AOP实现中,切... 目录引言一、AOP 概述1.1 什么是 AOP1.2 AOP 的典型应用场景1.3 为什么需要动态插

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

Java实现Excel与HTML互转

《Java实现Excel与HTML互转》Excel是一种电子表格格式,而HTM则是一种用于创建网页的标记语言,虽然两者在用途上存在差异,但有时我们需要将数据从一种格式转换为另一种格式,下面我们就来看看... Excel是一种电子表格格式,广泛用于数据处理和分析,而HTM则是一种用于创建网页的标记语言。虽然两

java图像识别工具类(ImageRecognitionUtils)使用实例详解

《java图像识别工具类(ImageRecognitionUtils)使用实例详解》:本文主要介绍如何在Java中使用OpenCV进行图像识别,包括图像加载、预处理、分类、人脸检测和特征提取等步骤... 目录前言1. 图像识别的背景与作用2. 设计目标3. 项目依赖4. 设计与实现 ImageRecogni

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

Java访问修饰符public、private、protected及默认访问权限详解

《Java访问修饰符public、private、protected及默认访问权限详解》:本文主要介绍Java访问修饰符public、private、protected及默认访问权限的相关资料,每... 目录前言1. public 访问修饰符特点:示例:适用场景:2. private 访问修饰符特点:示例:

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J