www.qjdy.com-奇迹赌场 > www.qjdy.com官网 > 我在拖拽效果中就已经说的很清楚了

原标题:我在拖拽效果中就已经说的很清楚了

浏览次数:95 时间:2019-07-11

前边作品中也讲了一下拖拽的中坚理念,理论是有了,那实行吧,能够应用到何以地点呢?下边就给大家带来贰个用拖拽思想写的三个小实例,供大家参照他事他说加以考察,差十分的少效果看下图:

图片 1

正是如此多个简便的三个拖拽条,你能够把它精晓为滚动条,也得以精通为表单中的数量采用控件,也得以驾驭为进程条,等等,反正你能够改成相当多你想要的功能,废话十分少说,我们来看看那么些是如何做的吗!

想了想,以为原理就无须说了吧,作者在拖拽效果中就已经说的很明白了,不晓得的同校能够出外左转,查看 javascript小实例,PC网页里的拖拽 ,小编就平素贴代码了:

css:

<style>
#drag_wrap{
  width:220px;
  height:10px;
  position:relative;
  margin:100px auto;
}
.dis_bg{
  width:200px;
  height:10px;
  border-radius:10px;
  background:#ccc;
  margin-left:10px;
}
#drag_bg{
  width:0;
  height:10px;
  border-radius:10px;
  background:#0CF;
}
#drag_box{
  width:20px;
  height:20px;
  border-radius:10px;
  background:#F30;
  position:absolute;
  top:-5px;
  left:0;
  cursor:move;
}
#drag_box span{
  width:40px;
  height:20px;
  text-align:center;
  line-height:20px;
  border:1px solid #ccc;
  position:absolute;
  top:-25px;
  left:-10px;
  color:#333;
  background:#fff;
}
#drag_wrap1{
  width:10px;
  height:220px;
  position:relative;
  margin:100px auto;
}
.dis_bg1{
  width:10px;
  height:200px;
  border-radius:10px;
  background:#ccc;
  position:absolute;
  top:10px;
}
#drag_bg1{
  width:10px;
  height:0;
  border-radius:10px;
  background:#0CF;
}
#drag_bg1{
  width:10px;
  height:0;
  border-radius:10px;
  background:#0CF;
}
#drag_box1{
  width:20px;
  height:20px;
  border-radius:10px;
  background:#F30;
  position:absolute;
  top:-5px;
  left:-5px;
  cursor:move;
}
#drag_box1 span{
  width:40px;
  height:20px;
  text-align:center;
  line-height:20px;
  border:1px solid #ccc;
  position:absolute;
  top:0;
  left:25px;
  color:#333;
  background:#fff;
}
</style>

html:

<div id="drag_wrap">
    <div class="dis_bg">
      <div id="drag_bg"></div>
    </div>
    <div id="drag_box">0</div>

  </div>
  <div id="drag_wrap1">
    <div class="dis_bg1">
      <div id="drag_bg1"></div>
    </div>
    <div id="drag_box1">0</div>
  </div>

JavaScript:

window.onload = function(){

    drag("drag_box","drag_wrap","drag_bg","left");
    drag("drag_box1","drag_wrap1","drag_bg1","top");

    function drag(obj,parentNode,bgObj,attr,endFn){
      var obj = document.getElementById(obj);
      var parentNode = document.getElementById(parentNode);
      var bgObj = document.getElementById(bgObj);
      var oNum = obj.getElementsByTagName('span')[0];
      obj.onmousedown = function(ev){
        var ev = ev || event;

        //非标准设置全局捕获(IE)
        if(obj.setCapture){
          obj.setCapture()  
        };

        var disX = ev.clientX - this.offsetLeft,
          disY = ev.clientY - this.offsetTop;
        var oWidth = obj.offsetWidth,
          oHeight = obj.offsetHeight;
        var pWidth = parentNode.offsetWidth,
          pHeight = parentNode.offsetHeight;     
        document.onmousemove = function(ev){
          var ev = ev || event;
          if(attr == "left"){ //横向
            var left = ev.clientX - disX;
            //左侧
            if(left <= 0){
              left = 0;
            }else if(left > pWidth - oWidth){//右侧
              left = pWidth - oWidth;
            };
            obj.style.left = bgObj.style.width = left   'px';
            oNum.innerHTML = left;

          }else if(attr == "top"){ //竖向
            var top = ev.clientY - disY;
             //上面
            if(top <= 0){
              top = 0;
            }else if(top > pHeight - oHeight){//下面
              top = pHeight - oHeight;
            };
            obj.style.top = bgObj.style.height = top   'px';
            oNum.innerHTML = top;
          };

        };
        document.onmouseup = function(ev){
          var ev = ev || event;
          document.onmousemove = document.onmouseup = null;
          endFn && endFn();
          //非标准释放全局捕获(IE)
          if(obj.releaseCapture){
            obj.releaseCapture()  
          };

        };
        return false;
      }; 
    } 

  }

参数表明:

这里给了5个参数,obj,parentNode,bgObj,attr,endFn,分别是:

obj:被拖拽对象

parentNode:限制被拖拽对象活动区域的靶子,一般设为它的父级

bgObj:拖动时的表色背景对象

attr:2个参数left,top,表示是横向拖拽依旧纵向拖拽

endFn:再次来到函数,有就推行,未有就不实行,非必填

上述就是本文的全部内容,希望对我们的求学抱有辅助。

你可能感兴趣的小说:

  • 简言之美貌的js弹窗可随便拖拽且包容大多数浏览器
  • js弹窗重回值详解(window.open方式)
  • 依据React.js达成原生js拖拽效果吸引的思维
  • javascript拖拽效果延伸学习
  • js拖拽的原型注脚和用法总计
  • 据说jquery插件达成拖拽删除图片作用
  • JavaScript轻巧完结弹出拖拽窗口(一)
  • JavaScript简单落成弹出拖拽窗口(二)
  • JavaScript贯彻相册弹窗效率(zepto.js)
  • 原生js达成自由拖拽弹窗代码demo

本文由www.qjdy.com-奇迹赌场发布于www.qjdy.com官网,转载请注明出处:我在拖拽效果中就已经说的很清楚了

关键词: GD视讯直播

上一篇:没有了

下一篇:没有了