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

互联网招聘网站排名网站设计的技巧

互联网招聘网站排名,网站设计的技巧,网络营销渠道优化,昆明网站建设制作目录 前言 实现思路 获取事件对象和坐标点: 配合定位: 鼠标事件监听: 拖拽过程: 停止拖拽: 代码实现(代码讲解) 前言 JavaScript的拖拽效果是一种常见的交互技术,它允许用户…

目录

前言

实现思路 

获取事件对象和坐标点:

配合定位:

鼠标事件监听:

拖拽过程:

停止拖拽:

代码实现(代码讲解)


前言

JavaScript的拖拽效果是一种常见的交互技术,它允许用户通过鼠标操作在网页中拖拽(拖动)元素。这种技术可以为网站和应用程序带来多种用途和好处,如:增强用户体验,实现拖放功能,图形设计和游戏,排序和重新排列,数据可视化,创建可自定义界面等等。总之,JavaScript的拖拽效果是一种强大的交互技术,可以提高用户体验、增加网站或应用程序的功能性,并创造更富有创意和直观的用户界面。

实现思路 

  1. 获取事件对象和坐标点

    • 当鼠标按下时,触发 mousedown 事件。
    • 在 mousedown 事件处理程序中,可以使用事件对象来获取鼠标点击的坐标点,通常使用 event.clientX 和 event.clientY 属性来获取鼠标相对于视窗的坐标点。
  2. 配合定位

    • 要实现拖拽效果,通常需要操作被拖拽的元素的位置。这可以通过设置元素的 style.left 和 style.top 属性来实现。
    • 在 mousedown 事件处理程序中,可以记录鼠标点击时元素的初始位置(通常是元素的左上角坐标)。
  3. 鼠标事件监听

    • 在 mousedown 事件中,将鼠标的 mousemove 和 mouseup 事件监听器附加到 document 上。这是因为当用户按住鼠标拖动元素时,鼠标可能会离开元素,但我们仍然要捕获移动和释放事件。
  4. 拖拽过程

    • 在 mousemove 事件处理程序中,计算鼠标移动的距离(新坐标点与初始坐标点之间的差值)。
    • 使用这个差值来更新元素的位置,将初始位置坐标与差值相加,并将结果分别赋给 style.left 和 style.top
    • 这样,元素将跟随鼠标的移动而移动。
  5. 停止拖拽

    • 当用户释放鼠标按钮时,触发 mouseup 事件。
    • 在 mouseup 事件处理程序中,移除 mousemove 和 mouseup 事件监听器,以停止拖拽操作。

代码实现(代码讲解)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>拖拽效果</title><style>* {margin: 0;padding: 0;}.wp {width: 200px;height: 200px;background: #04be02;position: absolute;left: 100px;top: 100px;}</style>
</head>
<body><div class="wp"></div>
</body>
</html>
<script>
// 获取拖拽元素
let wp = document.querySelector('.wp')// 当鼠标按下时
wp.onmousedown = function(){// 计算鼠标点击点距离元素左边和上边的距离let diX = event.clientX - wp.offsetLeft;let diY = event.clientY - wp.offsetTop;console.log(diX,diY);// 在文档上添加鼠标移动事件监听器document.onmousemove = function(){// 计算元素新的左上角坐标let oLeft = event.clientX - diX;let oTop = event.clientY - diY;// 限制元素不超出页面边界if (oLeft <= 0) {oLeft = 0;}if (oTop <= 0) {oTop = 0;}let maxLeft = window.innerWidth - wp.offsetWidth;let maxTop = window.innerHeight - wp.offsetHeight;if (oLeft >= maxLeft) {oLeft = maxLeft;}if (oTop >= maxTop) {oTop = maxTop;}// 设置元素的定位位置wp.style.left = oLeft + 'px';wp.style.top = oTop + 'px';}
}// 当鼠标释放时,移除鼠标移动事件监听器,停止拖拽
document.onmouseup = function(){document.onmousemove = null;
}
</script>

http://www.yayakq.cn/news/417924/

相关文章:

  • 投诉举报网站 建设方案上海交通网站建设
  • 咸阳网站建设哪家专业毕业设计做购物网站
  • 可以免费下源码的网站衡阳做淘宝网站建设
  • 如何一个空间做多个网站wordpress淘客插件破解版
  • 网站建设课设报告找公司开发网站
  • 哈尔滨网站建设好南京中建乡旅建设投资有限公司网站
  • 网站建设市场推广招聘网站如何被百度收入
  • 网站做弹窗广告吗网站宣传的手段有哪些?(写出五种以上)
  • 网站管理员怎样管理员权限设置博客做公司网站
  • 阜阳讯拓网站建设公司广州小程序开发多少钱
  • 体育用品东莞网站建设江苏初中课程基地建设网站
  • 校园二手网站开发网页图片不显示
  • 自己做的微信网站经常被停止访问网站开发语言市场有率
  • 公司微信网站开发平台h5响应式网站建设报价
  • 房产网站代运营WordPress主题会包含木马吗
  • 新闻聚合网站开发 技术用织梦做的网站怎么上传虚拟
  • 关于开展网站建设工作的通知网站开发程序员招聘
  • 网站定制费用自助下单网站
  • 千灯做网站免费下软件的网站
  • 延吉市住房城乡建设局网站建设企业网站内容
  • 企业模板网站vue让互联网之光点亮生活
  • 网站站长网站后台功能技术要求
  • 网站制作内容取名字大全免费查询
  • php网站建设管理教材wordpress如何添加搜索到主菜单
  • 电影网站模板下载网站建设最低多少钱
  • 站长推荐网址入口自动跳转营销网站制作郑州
  • 网站开发工作前景马关网站建设
  • 哪个网站做免费小程序域名注册是什么意思呢
  • 珠海斗门建设局网站做网站文字编辑工作好不好
  • 河北建设执业资格注册中心网站超市如何建立网站