JS响应鼠标点击实现两个滑块区间拖动效果


Posted in Javascript onOctober 26, 2015

本文实例讲述了JS实现的两个滑块区间拖动效果代码。分享给大家供大家参考,具体如下:

网页上的滑块功能如何实现呢?其实用JS就可以,这就是一个网页滑块,两个滑块可以任意拖动,形成一个滑块区间,而且代码兼容IE和其它主流的浏览器,两个滑块确定一个区间范围。

运行效果截图如下:

JS响应鼠标点击实现两个滑块区间拖动效果

在线演示地址如下:

具体代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title> js双滑块区间</title>
<style type='text/css'>
#range{position:relative;width:148px;height:2px;font-size:0;line-height:0;background:#fff;border:1px inset #9C9B97}
#meaBox{position:absolute;width:148px;height:4px;background:#ccc;top:-2px;border:1px inset #9C9B97;border-left:0;border-right:0;}
.mea{position:absolute;top:-5px;width:2px;height:10px;border:3px solid #fff;border-top:13px solid #3f8e55;}
#mea_l{left:0;}
#mea_r{right:0;border-top:13px solid #ff0000;}
</style>
</head>
<body>
<div id='range'>
 <div id='meaBox' onmousedown="change(this,event)"> </div>
 <div id='mea_l' class='mea' onmousedown="change(this,event)" ></div>
 <div id='mea_r' class='mea' onmousedown="change(this,event)" ></div>
</div>
<script type='text/javascript'>
var $id=function(o){return document.getElementById(o) || o;}
var change=function(o,e){
 var e = e ? e : window.event;
 if(!window.event) {e.preventDefault();}
 var init={
 mX: o.offsetLeft,
 lX: $id('mea_l').offsetLeft,
 rX: $id('mea_r').offsetLeft,
 dX: e.clientX
 };
 document.onmousemove=function(e){
 var e = e ? e : window.event;
 var dist=e.clientX-init.dX,
  len=init.mX + dist,
  l_x=init.lX,
  r_x=init.rX;
 switch (o.id){
  case 'mea_l':
  l_x=init.lX + dist;
  move();
  break;
  case 'mea_r':
  r_x=init.rX + dist;
  move();
  break;
  case 'meaBox':
  l_x=init.lX + dist;
  r_x=init.rX + dist;
  move2();
  break;
  default: break;
 }
 function move(){
  if(r_x > l_x + 20 && len>=0 && len<=140 ) {
  o.style.left=len+"px";
  $id('meaBox').style.left= l_x + 'px';
  $id('meaBox').style.width=r_x - l_x + 'px';
  }
 };
 function move2(){
  if(l_x>=0 && r_x <=140 ) {
  o.style.left=len+"px";
  $id('mea_l').style.left= l_x + "px";
  $id('mea_r').style.left= r_x +"px";
  }
 };
 }
 document.onmouseup=function(){
 document.onmousemove=null;
 document.onmouseup=null;
 }
}
</script>
</body>
</html>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
解决 FireFox 下[使用event很麻烦] 的问题.
Aug 22 Javascript
DOM下的节点属性和操作小结
May 14 Javascript
iframe的onload在Chrome/Opera中执行两次Bug的解决方法
Mar 17 Javascript
让浏览器DOM元素最后加载的js方法
Jul 29 Javascript
HTML5+setCutomValidity()函数验证表单实例分享
Apr 24 Javascript
详解JavaScript中的表单验证
Jun 16 Javascript
Node.js实现文件上传的示例
Jun 28 Javascript
angular.js中解决跨域问题的三种方式
Jul 12 Javascript
Angular路由ui-router配置详解
Aug 01 Javascript
浅谈layui使用模板引擎动态渲染元素要注意的问题
Sep 14 Javascript
Vue退出登录时清空缓存的实现
Nov 12 Javascript
vue之debounce属性被移除及处理详解
Nov 13 Javascript
javaScript实现可缩放的显示区效果代码
Oct 26 #Javascript
JS基于VML技术实现的五角星礼花效果代码
Oct 26 #Javascript
jquery获取url参数及url加参数的方法
Oct 26 #Javascript
JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
Oct 26 #Javascript
angular.bind使用心得
Oct 26 #Javascript
详解JavaScript编程中正则表达式的使用
Oct 25 #Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
Oct 25 #Javascript
You might like
兼容firefox,chrome的网页灰度效果
2011/08/08 PHP
php 解决旧系统 查出所有数据分页的类
2012/08/27 PHP
php对mongodb的扩展(初出茅庐)
2012/11/11 PHP
分享8个最佳的代码片段在线测试网站
2013/06/29 PHP
详解PHP的Yii框架中日志的相关配置及使用
2015/12/08 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
2016/09/30 PHP
Discuz论坛密码与密保加密规则
2016/12/19 PHP
thinkPHP微信分享接口JSSDK用法实例
2017/07/07 PHP
JavaScript arguments 多参传值函数
2010/10/24 Javascript
js 数据类型转换总结笔记
2011/01/17 Javascript
jquery 列表双向选择器之改进版
2013/08/09 Javascript
js 走马灯简单实例
2013/11/21 Javascript
node.js中的path.dirname方法使用说明
2014/12/09 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
2015/02/05 Javascript
用jQuery实现可输入多选下拉组合框实例代码
2017/01/18 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
vue2.0使用swiper组件实现轮播效果
2017/11/27 Javascript
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
Elementui表格组件+sortablejs实现行拖拽排序的示例代码
2019/08/28 Javascript
layui动态加载多表头的实例
2019/09/05 Javascript
JavaScript实现网页跨年倒计时
2020/12/02 Javascript
javascript实现移动端轮播图
2020/12/09 Javascript
用Python遍历C盘dll文件的方法
2015/05/06 Python
Python中的错误和异常处理简单操作示例【try-except用法】
2017/07/25 Python
解决Pycharm后台indexing导致不能run的问题
2019/06/27 Python
python 的 scapy库,实现网卡收发包的例子
2019/07/23 Python
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
将Python文件打包成.EXE可执行文件的方法
2019/08/11 Python
Pop In A Box英国:Funko POP搪胶公仔
2019/05/27 全球购物
什么是servlet
2012/05/08 面试题
《赠汪伦》教学反思
2014/04/12 职场文书
2015大学自主招生自荐信范文
2015/03/04 职场文书
掌握这项技巧,一年阅读300本书不是梦
2019/09/12 职场文书
postman中form-data、x-www-form-urlencoded、raw、binary的区别介绍
2022/01/18 HTML / CSS
mybatis源码解读之executor包语句处理功能
2022/02/15 Java/Android
Java GUI编程菜单组件实例详解
2022/04/07 Java/Android