当前位置: 首页 > news >正文

自应式网站免费企业网站模板源码

自应式网站,免费企业网站模板源码,网站着陆率,wordpress下载管理插件● 现在我们需要根据我们之前规划的架构步骤来实现在用户界面创建一个运动类型 ● 首先我们在要获取用户在表单中输入的数据 //从表单中获取数据const type inputType.value;const distance inputDistance.value;const duration inputDuration.value;● 然后针对与不同的运动…

● 现在我们需要根据我们之前规划的架构步骤来实现在用户界面创建一个运动类型
● 首先我们在要获取用户在表单中输入的数据

 //从表单中获取数据const type = inputType.value;const distance = +inputDistance.value;const duration = +inputDuration.value;

● 然后针对与不同的运动类型来判断用户的输入是否正确

//如果是跑步运动类型,创建跑步运动对象if (type === 'running') {const cadence = +inputCadence.value;if (!Number.isFinite(distance) || //输入的必须是属于否则报错!Number.isFinite(duration) ||!Number.isFinite(cadence))return alert('输入的值必须是数字!');}//如果是骑行运动类型,创建骑行运动对象if (type === 'cycling') {const elevation = +inputElevation.value;if (!Number.isFinite(distance) ||!Number.isFinite(duration) ||!Number.isFinite(elevation))return alert('输入的值必须是数字!');}

在这里插入图片描述

● 上面的写法明显违背了我们的不重复原则,所以我们更换一种写法

//提交表单之后生成新的运动_newWorkout(e) {
//判断输入的值是否为数字,...inputs是一个剩余参数语法,把所有参数都放在一个数组里面const validInputs = (...inputs) =>//every方法,判断数组中的每个元素是否都满足条件,都满足返回true,否则返回falseinputs.every(inp => Number.isFinite(inp));e.preventDefault(); //组织表单默认行为//从表单中获取数据const type = inputType.value;const distance = +inputDistance.value;const duration = +inputDuration.value;//如果是跑步运动类型,创建跑步运动对象if (type === 'running') {const cadence = +inputCadence.value;if (//判断输入的值是否为数字!validInputs(distance, duration, cadence))return alert('输入的值必须是数字!');}//如果是骑行运动类型,创建骑行运动对象if (type === 'cycling') {const elevation = +inputElevation.value;if (!validInputs(distance, duration, elevation))return alert('输入的值必须是数字!');}

● 当然,这些数据并不是只要是数字就行了,还要不是负数,我们用相同的方法来书写

_newWorkout(e) {//判断输入的值是否为数字,...inputs是一个剩余参数语法,把所有参数都放在一个数组里面const validInputs = (...inputs) =>//every方法,判断数组中的每个元素是否都满足条件,都满足返回true,否则返回falseinputs.every(inp => Number.isFinite(inp));//判断输入的值是否为正数const allPositive = (...inputs) => inputs.every(inp => inp > 0);e.preventDefault(); //组织表单默认行为//从表单中获取数据const type = inputType.value;const distance = +inputDistance.value;const duration = +inputDuration.value;//如果是跑步运动类型,创建跑步运动对象if (type === 'running') {const cadence = +inputCadence.value;if (//判断输入的值是否为数字!validInputs(distance, duration, cadence) ||!allPositive(distance, duration, cadence))return alert('输入的值必须是数字且必须为正数!');}//如果是骑行运动类型,创建骑行运动对象if (type === 'cycling') {const elevation = +inputElevation.value;if (!validInputs(distance, duration, elevation) ||!allPositive(distance, duration))return alert('输入的值必须是数字且必须为正数!');}

在这里插入图片描述

● 现在我们就需要创建运动对象,并将数据存入进去

 const type = inputType.value;const distance = +inputDistance.value;const duration = +inputDuration.value;const { lat, lng } = this.#mapEvent.latlng; //获取点击地图的经纬度let workout;//如果是跑步运动类型,创建跑步运动对象if (type === 'running') {const cadence = +inputCadence.value;if (//判断输入的值是否为数字!validInputs(distance, duration, cadence) ||!allPositive(distance, duration, cadence))return alert('输入的值必须是数字且必须为正数!');workout = new Running([lat, lng], distance, duration, cadence); //创建跑步运动对象}//如果是骑行运动类型,创建骑行运动对象if (type === 'cycling') {const elevation = +inputElevation.value;if (!validInputs(distance, duration, elevation) ||!allPositive(distance, duration))return alert('输入的值必须是数字且必须为正数!');workout = new Cycling([lat, lng], distance, duration, elevation); //创建骑行运动对象}//创建新的对象到workout数组中this.#workouts.push(workout);

在这里插入图片描述

数据已经正常可以拿到了;

● 然后通过修改type,来改变CSS样式

class Running extends Workout {//继承Workout类type = 'running';constructor(coords, distance, duration, cadence) {super(coords, distance, duration); //调用父类构造函数this.cadence = cadence;this.calcPace();}//计算配速calcPace() {this.pace = this.duration / this.distance;return this.pace;}
}class Cycling extends Workout {type = 'cycling';constructor(coords, distance, duration, elevationGain) {super(coords, distance, duration);this.elevationGain = elevationGain;this.calcSpeed();}//计算速度calcSpeed() {this.speed = this.distance / (this.duration / 60);return this.speed;}
}renderWorkoutMarker(workout) {L.marker(workout.coords).addTo(this.#map).bindPopup(L.popup({maxWidth: 250,minWidth: 100,autoClose: false,closeOnClick: false,className: `${workout.type}-popup`,})).setPopupContent('运动').openPopup();}
}

在这里插入图片描述

● 下篇文章将在地图上展现项目,并且消除一些关闭表单的一些小问题

http://www.dt0577.cn/news/4729.html

相关文章:

  • 电商网站平台有哪些功能模块关键词工具
  • 用asp.net做的 购物网站视频国际购物网站平台有哪些
  • 哪些网站做推广效果好网络营销课程去哪里学
  • 山西建立网站营销策划集客营销软件官方网站
  • 湖南营销型网站建设价格网站seo关键词排名优化
  • 阿里巴巴国际站骗局学电子商务出来能干嘛
  • wordpress建立好的网站最有效的恶意点击软件
  • 后缀cc的网站自己如何做一个网站
  • 宝坻做网站哪家好win7优化大师好不好
  • 哪些购物网站用php做的网站推广的常用方法有哪些?
  • 网页设计网页标签图标怎么做seo服务公司
  • 兰州网站建设100百度快速seo
  • 哪里做网站seo开封网站seo
  • 图跃网站建设网络整合营销推广
  • 秀屿网站建设网站代运营推广
  • wordpress 站点管理员seo描述是什么
  • 画册设计网站欣赏教育培训机构营销方案
  • 惠普gen8可以做网站吗成都网络推广优化
  • 电信网站空间搜索引擎优化的简写是
  • 百度站点提交工具自己在家怎么做跨境电商
  • wordpress主题的连接函数快速排名优化推广排名
  • 网络公司网站怎么做个人网页
  • 自己建网站花钱吗北京seo全网营销
  • 郑州网站建设亅汉狮网络请你设计一个网络营销方案
  • 公司内部网站模板app推广引流
  • 腾讯文件怎么转换wordpress长沙网站seo优化排名
  • 驻马店做网站做推广的都是怎么推
  • 合肥网站制作需新闻今日头条最新消息
  • 今日头条网站什么语言做的quark搜索引擎入口
  • 重庆企业网站建设深圳整站全网推广