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

wordpress小标签淄博seo网络公司

wordpress小标签,淄博seo网络公司,免费的h5页面制作工具,功能型网站建设需要多少钱移动色块案例 实现一个可以拖动并且在拖动过程中会自动改变颜色的色块。 移动色块:用户可以通过鼠标按住并拖动页面上的红色方块(#blocks)。当用户按下鼠标左键时,色块开始跟随鼠标的移动而移动;当用户释放鼠标左键时…

移动色块案例

实现一个可以拖动并且在拖动过程中会自动改变颜色的色块。

  • 移动色块:用户可以通过鼠标按住并拖动页面上的红色方块(#blocks)。当用户按下鼠标左键时,色块开始跟随鼠标的移动而移动;当用户释放鼠标左键时,色块停止移动。
  • 显示当前位置:随着色块的移动,其当前的屏幕坐标(相对于浏览器窗口)会被实时更新,并显示在页面底部左侧的位置显示区域(#positionDisplay)中。
  • 自动变色:一旦用户开始拖动色块,系统就会每隔300毫秒随机改变一次色块的颜色。颜色的变化是通过调用 getRandomColor() 函数生成一个随机的颜色值,并使用 updateColor(color) 函数来更新色块的背景颜色和颜色显示区域(#colorDisplay)中的文本。
  • 交互反馈:在拖动过程中,用户的每一次鼠标移动都会触发色块位置的更新,同时如果色块正在被拖动,那么颜色也会持续变化,直到用户释放鼠标左键为止。

练习:JavaScript 事件监听器(如 mousedown, mouseup, mousemove)与 CSS 样式

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><title>移动色块</title><style>#blocks {width: 100px;height: 100px;background-color: #FF0000;border-radius: 2px;position: absolute;cursor: pointer;}#colorDisplay,#positionDisplay {position: absolute;bottom: 0;left: 0;}#positionDisplay {left: 160px;}</style></head><body><span id="colorDisplay">当前颜色: #FF0000 </span><span id="positionDisplay">当前位置: (0, 0) </span><div id="blocks"></div><script>// 获取色块var div = document.getElementById("blocks");// 获取颜色位置显示区域var colorDisplay = document.getElementById("colorDisplay");var positionDisplay = document.getElementById("positionDisplay");var posX, posY, mouseX, mouseY;var dragging = false;// 自动变色定时器变量var colorChangeInterval;// 随机生成颜色function getRandomColor() {var letters = '0123456789ABCDEF';var color = '#';for (var i = 0; i < 6; i++) {color += letters[Math.floor(Math.random() * 16)];}return color;}// 更新颜色并显示function updateColor(color) {div.style.backgroundColor = color;colorDisplay.textContent = '当前颜色: ' + color;}// 更新位置并显示function updatePosition(left, top) {div.style.left = left + 'px';div.style.top = top + 'px';positionDisplay.textContent = '当前位置: (' + left + ', ' + top + ')';}// 改变颜色function colorChange() {updateColor(getRandomColor());}// mousedown 开始拖拽div.addEventListener('mousedown', function (e) {dragging = true;mouseX = e.clientX;mouseY = e.clientY;posX = parseInt(div.style.left) || 0;posY = parseInt(div.style.top) || 0;e.preventDefault(); // 防止文本选中等默认行为// 开始拖拽时启动定时器if (!colorChangeInterval) {colorChangeInterval = setInterval(colorChange, 300);}});// mouseup 停止拖拽document.addEventListener('mouseup', function (e) {dragging = false;// 停止拖拽时清除定时器if (colorChangeInterval) {clearInterval(colorChangeInterval);colorChangeInterval = null;}});// mousemove 更新位置document.addEventListener('mousemove', function (e) {if (dragging) {var dx = e.clientX - mouseX;var dy = e.clientY - mouseY;var newX = posX + dx;var newY = posY + dy;updatePosition(newX, newY);}});</script></body>
</html>

jQuery 版本

<body><span id="colorDisplay">当前颜色: #FF0000 </span><span id="positionDisplay">当前位置: (0, 0) </span><div id="blocks"></div><script>$(document).ready(function() {var $div = $('#blocks');var $colorDisplay = $('#colorDisplay');var $positionDisplay = $('#positionDisplay');var posX, posY, mouseX, mouseY;var dragging = false;// 自动变色定时器变量var colorChangeInterval;function getRandomColor() {var letters = '0123456789ABCDEF';var color = '#';for (var i = 0; i < 6; i++) {color += letters[Math.floor(Math.random() * 16)];}return color;}function updateColor(color) {$div.css('backgroundColor', color);$colorDisplay.text('当前颜色: ' + color);}function updatePosition(left, top) {$div.css({left: left + 'px', top: top + 'px'});$positionDisplay.text('当前位置: (' + left + ', ' + top + ')');}function colorChange() {updateColor(getRandomColor());}$div.on('mousedown', function(e) {dragging = true;mouseX = e.clientX;mouseY = e.clientY;posX = parseInt($div.css('left')) || 0;posY = parseInt($div.css('top')) || 0;e.preventDefault();if (!colorChangeInterval) {colorChangeInterval = setInterval(colorChange, 300);}});$(document).on('mouseup', function(e) {dragging = false;if (colorChangeInterval) {clearInterval(colorChangeInterval);colorChangeInterval = null;}});$(document).on('mousemove', function(e) {if (dragging) {var dx = e.clientX - mouseX;var dy = e.clientY - mouseY;var newX = posX + dx;var newY = posY + dy;updatePosition(newX, newY);}});});</script>
</body>
http://www.ds6.com.cn/news/24574.html

相关文章:

  • 西宁做网站_君博相约上海百度公司总部
  • 武汉交友什么网站建设搜索引擎有哪些技巧
  • 做网站接电话一般要会什么问题怎样在百度上发布自己的文章
  • 东莞公司网站制作要多少钱免费有效的推广平台
  • 怎么让自己的网站稍微变前面点网页设计个人网站
  • 免费个人网站建设制作代码关键词林俊杰歌词
  • 网站开发保密协议 doc百度文库首页
  • 网站建设报价模版网站怎么建设
  • 南京建设工程网站百度下载电脑版
  • 外贸seo关键词宁波谷歌seo推广公司
  • 网站支付接口怎么做百度云网盘登录入口
  • 做网页怎么在网站播放视频百度关键词优化曝光行者seo
  • delphi intraweb做网站成人职业技能培训班
  • 网上书城网站开发的数据字典国内优秀网页设计赏析
  • 郑州网官网东莞优化网站关键词优化
  • 品牌网站建设专业竞价托管
  • 产品网站开发计划表企业域名查询
  • 广州 餐饮 网站建设上海关键词seo
  • 传媒网站建设网seo视频教程我要自学网
  • 汉源县建设局网站搜外滴滴友链
  • 贸易公司网址大全哪些行业适合做seo
  • 物流网站怎么做推广独立站seo外链平台
  • 做淘宝客网站要申请什么小红书代运营
  • 如何在720云网站做全景视频下载发布任务注册app推广的平台
  • 怎样打开用sql做的网站北京seo公司
  • 深圳自适应网站开发多少钱免费企业建站
  • 做网站需要买ip地址吗搜索广告是什么意思
  • 网站开发网站开发设计中国万网官网登录
  • 乐山网站制作公司seo网站制作优化
  • 做微信平台图片网站小程序搭建教程