关于滑动条

http://falchion.javaeye.com/blog/219045

 

 

 初步成果:

 

 <body style="padding:0px; margin:0px; ">
    <div id=fardiv style="border:1px solid; width:600px; height:200px; padding:0px; margin:0px;">
  <div id="div1" style="border:1px solid black; position:absolute; top:10px; left:10px; width:100px; height:10px; background:red;"
    οnmοusedοwn="mymousedown(this)"
    οnmοusemοve="mymousemove(this)"
    οnmοuseup="mymouseup(this)">
    Hello world!
  </div>
 </div>
    <br><br><br><br><br><br>
    <textarea id="debug_window" name="textarea" cols="50" rows="20">asfasdaff</textarea>
 <input type="button" onClick="debug_window.value='none'">
    <script language="javascript">
    // 全局变量,记录鼠标指针的上一次位置
    var g_x;
    var g_y;
 var perdiv = window.document.getElementById("fardiv");
 var textarea = window.document.getElementById("debug_window");
 //求光标能滑动的最大范围
 var minLeft = parseInt(window.document.getElementById("div1").style.left);
 var maxLeft = parseInt(window.document.getElementById("fardiv").style.width)-parseInt(window.document.getElementById("div1").style.width);
    function mymousedown(theObj) {
      if (event.button == 1) {
        g_x = event.clientX;
        g_y = event.clientY;
        theObj.style.cursor = "e-resize";
        //锁定鼠标事件
        theObj.setCapture();
      }
   //textarea.value=window.document.getElementById("div1").style.width;
   //alert(window.document.getElementById("div1").style.left);
      //alert(maxLeft);
   return true;
    }
    function mymousemove(theObj) {
      if (event.button == 1) {
        //计算鼠标指针的移动量
        var deltaX = event.clientX - g_x;
        //var deltaY = event.clientY - g_y;
        g_x = event.clientX;
        //g_y = event.clientY;
  var temp = parseInt(window.document.getElementById("div1").style.left);
        temp += deltaX;
  if(temp<minLeft)
  {
   window.document.getElementById("div1").style.left=minLeft+"px";
  }
  else
  {
   if(temp>maxLeft)
   {
    window.document.getElementById("div1").style.left=maxLeft+"px";
   }
   else
   {
    window.document.getElementById("div1").style.left = temp+"px";
   }
  }
  
        //theObj.style.pixelTop += deltaY;
  //debugInfo(window.document.getElementById("div1").style.left);
      }
      return true;
    }
    function mymouseup(theObj) {
      if (event.button == 1) {
        //放开鼠标事件
        theObj.releaseCapture();
        theObj.style.cursor="default";
      }
      return true;
    }
    //在写JavaScript代码时,我通常加入一个文本区域来进行调试
    function debugInfo(info) {
      var debugWindow = document.getElementById("debug_window");
      debugWindow.value = debugWindow.value + "/r/n" + info;
   }
  </script>

还需要加百分比的输出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值