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 相关文章推荐
js实现ArrayList功能附实例代码
Oct 29 Javascript
javascript中定义类的方法详解
Feb 10 Javascript
javascript中SetInterval与setTimeout的定时器用法
Aug 24 Javascript
jQuery实现分隔条左右拖动功能
Nov 21 Javascript
javascript绘制漂亮的心型线效果完整实例
Feb 02 Javascript
jQuery动态生成表格及右键菜单功能示例
Jan 13 Javascript
JS得到当前时间的方法示例
Mar 24 Javascript
Node.js中 __dirname 的使用介绍
Jun 19 Javascript
Vue.js 实现微信公众号菜单编辑器功能(二)
May 08 Javascript
Vue源码解析之Template转化为AST的实现方法
Dec 14 Javascript
vue axios重复点击取消上一次请求封装的方法
Jun 19 Javascript
vue新建项目并配置标准路由过程解析
Dec 09 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
将一维或多维的数组连接成一个字符串的php代码
2010/08/08 PHP
sphinx增量索引的一个问题
2011/06/14 PHP
PHP程序开发范例学习之表单 获取文本框的值
2011/08/08 PHP
php从数组中随机抽取一些元素的代码
2012/11/05 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
2015/07/29 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
2015/12/14 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
2017/08/17 PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
2019/04/09 PHP
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
javascript 尚未实现错误解决办法
2008/11/27 Javascript
javascript一元操作符(递增、递减)使用示例
2013/08/07 Javascript
jQuery学习总结之jQuery事件
2014/06/30 Javascript
28个常用JavaScript方法集锦
2015/01/14 Javascript
详解Node.js模块间共享数据库连接的方法
2016/05/24 Javascript
Angular动态添加、删除输入框并计算值实例代码
2017/03/29 Javascript
快速使用node.js进行web开发详解
2017/04/26 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
vue实现打地鼠小游戏
2020/08/21 Javascript
python使用Tesseract库识别验证
2018/03/21 Python
基于python OpenCV实现动态人脸检测
2018/05/25 Python
Python+selenium实现自动循环扔QQ邮箱漂流瓶
2018/05/29 Python
Python DataFrame.groupby()聚合函数,分组级运算
2018/09/18 Python
Python类的绑定方法和非绑定方法实例解析
2020/03/04 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
2020/04/16 Python
Matplotlib自定义坐标轴刻度的实现示例
2020/06/18 Python
canvas 橡皮筋式线条绘图应用方法
2019/02/13 HTML / CSS
澳大利亚窗帘商店:Curtain Wonderland
2019/12/01 全球购物
自我鉴定200字
2013/10/28 职场文书
授权委托书怎么写
2014/04/03 职场文书
授权委托书样本
2014/09/25 职场文书
毕业生实习期转正自我鉴定
2014/09/26 职场文书
努力工作保证书
2015/02/28 职场文书
部队2015年终工作总结
2015/04/02 职场文书
九年级化学教学反思
2016/02/22 职场文书
MySQL 查询速度慢的原因
2021/05/25 MySQL