最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JS实现可展开折叠层的鼠标拖曳效果_javascript技巧

来源:懂视网 责编:小采 时间:2020-11-27 21:44:16
文档

JS实现可展开折叠层的鼠标拖曳效果_javascript技巧

JS实现可展开折叠层的鼠标拖曳效果_javascript技巧:本文实例讲述了JS实现可展开折叠层的鼠标拖曳效果。分享给大家供大家参考。具体如下:这是一款简单JS代码实现的鼠标拖曳图层效果,比较精简,大家参考一下。鼠标点击层标题栏可实现层内容的展开与折叠,按住标题栏可实现层的拖动。运行效果截图如下:在线演示
推荐度:
导读JS实现可展开折叠层的鼠标拖曳效果_javascript技巧:本文实例讲述了JS实现可展开折叠层的鼠标拖曳效果。分享给大家供大家参考。具体如下:这是一款简单JS代码实现的鼠标拖曳图层效果,比较精简,大家参考一下。鼠标点击层标题栏可实现层内容的展开与折叠,按住标题栏可实现层的拖动。运行效果截图如下:在线演示
本文实例讲述了JS实现可展开折叠层的鼠标拖曳效果。分享给大家供大家参考。具体如下:

这是一款简单JS代码实现的鼠标拖曳图层效果,比较精简,大家参考一下。鼠标点击层标题栏可实现层内容的展开与折叠,按住标题栏可实现层的拖动。

运行效果截图如下:

在线演示地址如下:

http://demo.jb51.net/js/2015/js-fade-out-mouse-draw-style-demo/

具体代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
 <title>鼠标拖曳</title>
 </head>
 <body>
 <script type="text/javascript">
 function drag(elementToDrag,event){
 var startX=event.clientX,startY=event.clientY;
 var origX=elementToDrag.offsetLeft,origY=elementToDrag.offsetTop;
 var deltaX=startX-origX,deltaY=startY-origY;
 if(document.addEventListener){
 document.addEventListener("mousemove",moveHandler,true); 
 document.addEventListener("mouseup",upHandler,true);
 }
 else{
 elementToDrag.setCapture();
 elementToDrag.attachEvent("onmousemove",moveHandler);
 elementToDrag.attachEvent("onmouseup",upHandler);
 elementToDrag.attachEvent("onlosecapture",upHandler);
 }
 if(event.stopPropagation) event.stopPropagation();
 else event.cancelBubble=true;
 if(event.preventDefault) event.preventDefault();
 else event.returnValue=false;
 function moveHandler(e){
 if(!e) e=window.event;
 elementToDrag.style.left=(e.clientX-deltaX)+"px";
 elementToDrag.style.top=(e.clientY-deltaY)+"px";
 elementToDrag.style.zIndex="10";
 elementToDrag.getElementsByTagName("p")[0].innerHTML="clientX:"+e.clientX+"
 </br>"+"clientY:"+e.clientY+"</br>"+"offsetLeft:"+origX+"</br>
 "+"offsetTop:"+origY+"</br>"+"clientX-offsetLeft:"+deltaX+"</br>"+"clientY-offsetTop:"+deltaY+"</br>";
 if(e.stopPropagation) e.stopPropagation();
 else e.cancelBubble = true;
 }
 function upHandler(e){
 if(!e) e=window.event;
 elementToDrag.style.zIndex="1";
 if(document.removeEventListener){
 document.removeEventListener("mouseup",upHandler,true);
 document.removeEventListener("mousemove",moveHandler,true);
 }
 else{
 elementToDrag.detachEvent("onlosecapture",upHandler);
 elementToDrag.detachEvent("onmouseup",upHandler);
 elementToDrag.detachEvent("onmousemove",moveHandler);
 elementToDrag.releaseCapture();
 }
 if(e.stopPropagation) e.stopPropagation();
 else e.cancelBubble=true;
 }
 }
 </script>
 <div style="position:absolute;left:100px;top:100px;width:250px;background-color:#789;border:1px solid #f00">
 <div style="background:#ccc;border-bottom:dotted black;padding:3px;font-weight:bold" 
 onmousedown="drag(this.parentNode,event)">Drag Me1</div>
 <p>test</p>
 </div>
 <div style="position:absolute;left:100px;top:200px;width:250px;background-color:#789;border:1px solid #f00">
 <div style="background:#ccc;border-bottom:dotted black;padding:3px;font-weight:bold" 
 onmousedown="drag(this.parentNode,event)">Drag Me2</div>
 <p>test</p>
 </div>
 <div style="position:absolute;left:100px;top:300px;width:250px;background-color:#789;border:1px solid #f00">
 <div style="background:#ccc;border-bottom:dotted black;padding:3px;font-weight:bold"
 onmousedown="drag(this.parentNode,event)">Drag Me3</div>
 <p>test</p>
 </div>
 </body>
</html>

文档

JS实现可展开折叠层的鼠标拖曳效果_javascript技巧

JS实现可展开折叠层的鼠标拖曳效果_javascript技巧:本文实例讲述了JS实现可展开折叠层的鼠标拖曳效果。分享给大家供大家参考。具体如下:这是一款简单JS代码实现的鼠标拖曳图层效果,比较精简,大家参考一下。鼠标点击层标题栏可实现层内容的展开与折叠,按住标题栏可实现层的拖动。运行效果截图如下:在线演示
推荐度:
标签: 折叠 鼠标 js
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top