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

公安备案交互式网站/网络推广计划方案

公安备案交互式网站,网络推广计划方案,怎样制作网络平台,最好的响应式网站有哪些文章目录前言一、效果展示二、代码与思路1.代码2.思路后续展望前言 作者是一个JavaScript新手,偶尔想到一些有趣的小案例分享 一、效果展示 可以利用鼠标拖动舞台中的方块,松开鼠标时方块会按照二次方的速度(简单的物理公式xx0-1/2gt2&#…

文章目录

  • 前言
  • 一、效果展示
  • 二、代码与思路
    • 1.代码
    • 2.思路
  • 后续展望


前言

作者是一个JavaScript新手,偶尔想到一些有趣的小案例分享


一、效果展示

请添加图片描述

可以利用鼠标拖动舞台中的方块,松开鼠标时方块会按照二次方的速度(简单的物理公式x=x0-1/2×gt2)降落

二、代码与思路

1.代码

代码如下:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {margin: 0;padding: 0;}.room {position: relative;width: 100%;height: 600px;background-color: white;box-shadow: 0 -5px 5px #bbbbbb inset;;}.box {position: absolute;width: 80px;height: 60px;background-color: #111;}</style>
</head><body><div class="room"><div class="box"></div></div><script>var flag = 0;let room = document.querySelector('.room');let box = document.querySelector('.box');var mx = 0;var my = 0;box.style.left = 100 + 'px';box.style.top = 100 + 'px';room.style.width = window.innerWidth + 'px';function animate(obj) {var k = 0.01;var timer = setInterval(function () {let y = parseInt(obj.style.top);if (y + 9.8 * k * k > 540) {obj.style.top = 540 + 'px';}else {obj.style.top = y + 9.8 * k * k + 'px';}k = k + 0.015;room.style.width = window.innerWidth + 'px';if (y >= 540 || flag == 1) {clearInterval(timer);}// console.log(k + "," + y)}, 10);}//鼠标点击移动事件box.addEventListener('mousedown', function (e) {room.style.width = window.innerWidth + 'px';let x = e.clientX;let y = e.clientY;let Ox = e.offsetX;let Oy = e.offsetY;box.style.left = x - Ox + 'px';box.style.top = y - Oy + 'px';flag = 1;mx = e.offsetX;my = e.offsetY;});//利用父级元素,防止鼠标移动过快而脱离目标room.addEventListener('mousemove', function (e) {if (flag > 0) {let x = e.clientX;let y = e.clientY;if (e.clientX < mx) {x = mx;}else if (e.clientX > window.innerWidth - 80 + mx) {x = window.innerWidth - 80 + mx;console.log(x)}else { }if (e.clientY < my) {y = my;}else if (e.clientY > 540 + my) {y = 540 + my;}else { }let Ox = mx;let Oy = my;box.style.left = x - Ox + 'px';box.style.top = y - Oy + 'px';// console.log(x + "," + y + "," + Ox + "," + Oy)// console.log(window.innerWidth)}});//利用文档脱离移动document.addEventListener('mouseup', function (e) {flag = 0;animate(box);});</script>
</body></html>

2.思路

有两个块元素组成,分别是背景和小方块。
在这里插入图片描述
在这里插入图片描述

为了限制小方块的拖动范围,增加了判断语句

if (flag > 0) {let x = e.clientX;let y = e.clientY;if (e.clientX < mx) {x = mx;}else if (e.clientX > window.innerWidth - 80 + mx) {x = window.innerWidth - 80 + mx;console.log(x)}else { }if (e.clientY < my) {y = my;}else if (e.clientY > 540 + my) {y = 540 + my;}else { }

重力部分才用到了定时器,于鼠标松开后调用,于鼠标按下时清除定时器。

        function animate(obj) {var k = 0.01;var timer = setInterval(function () {let y = parseInt(obj.style.top);if (y + 9.8 * k * k > 540) {obj.style.top = 540 + 'px';}else {obj.style.top = y + 9.8 * k * k + 'px';}k = k + 0.015;room.style.width = window.innerWidth + 'px';if (y >= 540 || flag == 1) {clearInterval(timer);}// console.log(k + "," + y)}, 10);}

最重要的,设立变量flag,flag=1时为按下鼠标状态,flag=0时为松开鼠标状态,以便于鼠标按下、鼠标移动、鼠标松开、方块掉落四个动作之间切换。

后续展望

想到了愤怒的小鸟,或许可以利用类似的重力原理实现该游戏。

http://www.jmfq.cn/news/4880341.html

相关文章:

  • 长春做商业平台网站/中山做网站推广公司
  • 如何在企业版社保网站做增员/旺道seo推广有用吗
  • 国美网站建设特点/百度关键词排名qq
  • 怎么用wordpress做网站/广州seo报价
  • 吉林省住房建设厅网站/广州百度关键词排名
  • 公众号的微网站怎么做/企业网站推广有哪些方式
  • 网站做301跳转的作用/5118关键词挖掘工具
  • php商城网站开发报告/怎么建立网站平台
  • 想在意大利做购物网站/网址安全检测中心
  • 如何自建外贸网站/百度小程序优化排名
  • 设计公司做网站有用吗/商品推广软文范例200字
  • 做网站前台要学哪些/百度贴吧官网入口
  • 网站营运/友链对网站seo有帮助吗
  • 霍邱网站设计/引流推广效果好的app
  • 公司网站建设方案详细/兰州seo公司
  • 网站seo诊断评分45/百度学术免费查重入口
  • 公司购买网站怎么做分录/深圳网络营销推广培训
  • 网络运维工程师薪资待遇/seo关键词推广话术
  • 网站开发与服务合同/产品推广公司
  • 瓮安做网站/百度推广用户注册
  • 网站数据库怎么备份/手机上可以创建网站吗
  • wordpress搭建学校网站/网页制作素材模板
  • 高端网站制作费用/建站软件可以不通过网络建设吗
  • 揭阳企业做网站/百度账号注册申请
  • 网站友情链接如何做/微信公众平台开发
  • 如何制作代码/长沙seo代理
  • seo如何选择网站标题/软件开发平台
  • 网站开发亿玛酷适合5/怎么在百度上发布个人文章
  • 苏州木渎做网站公司/哪个平台可以免费推广
  • 网站的规划与建设 按时间顺序/优化推广服务