bob体育官方平台
基于JavaScript实现右键菜单和拖拽功能_javascript技巧_脚本之家

1、怎样在网页中实现拖曳功能;

下面先给大家介绍下js实现的右键菜单功能,具体详情如下所示:

2、document.documentElement与document.body的区别。 document.documentElement.clientWidth指整个html文档的宽度,document.body.clientWidth的宽度。这两者是不一样的。可以在console控制台通过console.log(document.documentElement)和console.log进行测试。

这一章解决的问题

3、getBoundingClientRect().left与offsetLeft的区别。 getBoundingClientRect()用于获取元素的left、top、right、bottom。offset获取相对于父级的left和top。getBoundingClientRect()获取相对于窗口的left、top、right、bottom。

1、实现右键菜单功能代码。

4、e.clientX指的是鼠标点相对于窗口的坐标。

2、阻止默认事件的实际应用。

 弹窗  #mask { position: fixed; left:0; top:0; width:100%; height: 100%; background-color: hsla; display: none; } #popBox { position: absolute; background-color: #fff; width:200px; height: 200px; /*left:50%; top:50%;*/ /*margin-top: -100px; margin-left: -100px;*/ }  点击     var clickBtn = document.getElementById; var popBox = document.getElementById var mask = document.getElementById; clickBtn.onclick = function() { mask.style.display = "block"; popBox.style.left = (document.documentElement.clientWidth - popBox.offsetWidth)/2 + "px"; popBox.style.top = (document.documentElement.clientHeight - popBox.offsetHeight)/2 + "px"; } popBox.onclick = function { var e = e || window.event;//e指所有代码的集合,通过它可以获取事件的各种属性。 e.cancelBubble = true;//阻止事件冒泡,即点击事件不会传递到mask这一层,意味着不会触发点击mask事件代码。 } mask.onclick = function() { mask.style.display = "none"; } //拖拽 mousedown->mousemove->mouseup popBox.onmousedown = function { var e = e || window.event; var pos = popBox.getBoundingClientRect();//getBoundingClientRect()用于获取元素的left、top、right、bottom。offset获取相对于父级的left和top。getBoundingClientRect()获取相对于窗口的left、top、right、bottom。 var oX = e.clientX - pos.left;//clientX指相对于窗口的坐标。 var oY = e.clientY - pos.top; document.onmousemove = function { var e = e || window.event; var oLeft = e.clientX - oX; var oTop = e.clientY - oY; popBox.style.left = oLeft + "px"; popBox.style.top = oTop + "px"; if  { popBox.style.left = 0 + "px"; }; if (oLeft>document.documentElement.clientWidth - popBox.offsetWidth) { popBox.style.left = document.documentElement.clientWidth - popBox.offsetWidth + "px";//document.documentElement.clientWidth指整个html文档的宽度,document.body.clientWidth的宽度。这两者是不一样的。可以在console控制台通过console.log(document.documentElement)和console.log进行测试。 } if  { popBox.style.top = 0 + "px"; }; if (oTop > document.documentElement.clientHeight - popBox.offsetHeight) { popBox.style.top = document.documentElement.clientHeight - popBox.offsetHeight + "px"; } } popBox.onmouseup = function() { document.onmousemove = null; } } 
右键菜单#menu {position: fixed;left:0;top:0;width:200px;height: 400px;background-color: blue;display: none;}var menu = document.getElementById;document.oncontextmenu = function {var e = e || window.event;//鼠标点的坐标var oX = e.clientX;var oY = e.clientY;//菜单出现后的位置menu.style.display = "block";menu.style.left = oX + "px";menu.style.top = oY + "px";//阻止浏览器默认事件return false;//一般点击右键会出现浏览器默认的右键菜单,写了这句代码就可以阻止该默认事件。}document.onclick = function {var e = e || window.event;menu.style.display = "none"}menu.onclick = function {var e = e || window.event;e.cancelBubble = true;}// document.addEventListener("contextmenu",function{// var e = e || window.event;// e.preventDefault;// },false)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

好了,以上代码详情是js实现的右键菜单功能。下面接着给大家介绍下js 拖曳功能的代码解析

这一章解决的问题

1、怎样在网页中实现拖曳功能。

返回顶部