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 相关文章推荐
jQuery 源代码显示控件 (Ajax加载方式).
May 18 Javascript
jQuery.getScript加载同域JS的代码
Feb 13 Javascript
JQuery 返回布尔值Is()条件判断方法代码
May 14 Javascript
自己封装的常用javascript函数分享
Jan 07 Javascript
JavaScript中用getDate()方法返回指定日期的教程
Jun 09 Javascript
jquery实现的淡入淡出下拉菜单效果
Aug 25 Javascript
跟我学习javascript的作用域与作用域链
Nov 19 Javascript
jQuery Validate设置onkeyup验证的实例代码
Dec 09 Javascript
canvas压缩图片转换成base64格式输出文件流
Mar 09 Javascript
微信小程序 支付功能(前端)的实现
May 24 Javascript
selenium+java中用js来完成日期的修改
Oct 31 Javascript
使用Typescript开发微信小程序的步骤详解
Jan 12 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
二十行语句实现从Excel到mysql的转化
2006/10/09 PHP
php 数组的一个悲剧?
2011/05/11 PHP
php微信开发之关注事件
2018/06/14 PHP
javascript遍历控件实例详细解析
2014/01/10 Javascript
JQuery实现防止退格键返回的方法
2015/02/12 Javascript
js实现按钮控制图片360度翻转特效的方法
2015/02/17 Javascript
jquery专业的导航菜单特效代码分享
2015/08/29 Javascript
jQuery实现自定义右键菜单的树状菜单效果
2015/09/02 Javascript
JavaScript实现页面跳转的几种常用方式
2015/11/28 Javascript
JavaScript知识点整理
2015/12/09 Javascript
利用Jasmine对Angular进行单元测试的方法详解
2017/06/12 Javascript
CentOS 安装NodeJS V8.0.0的方法
2017/06/15 NodeJs
微信小程序实现图片放大预览功能
2020/10/22 Javascript
微信小程序实现点击文字页面跳转功能【附源码下载】
2017/12/12 Javascript
Vue官方推荐AJAX组件axios.js使用方法详解与API
2018/10/09 Javascript
vue表单中遍历表单操作按钮的显示隐藏示例
2019/10/30 Javascript
vuex页面刷新导致数据丢失的解决方案
2020/12/10 Vue.js
[06:14]《辉夜杯》外卡赛附加赛 4支战队巡礼
2015/10/23 DOTA
python 文本单词提取和词频统计的实例
2018/12/22 Python
将python图片转为二进制文本的实例
2019/01/24 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
2019/07/09 Python
Django文件存储 默认存储系统解析
2019/08/02 Python
python ubplot使用方法解析
2020/01/10 Python
Python 2.6.6升级到Python2.7.15的详细步骤
2020/12/14 Python
新加坡时尚网上购物:Zalora新加坡
2016/07/26 全球购物
New Balance波兰官方商城:始于1906年,百年慢跑品牌
2017/08/15 全球购物
爱尔兰灯和灯具网上商店:Lights.ie
2018/03/26 全球购物
写给妈妈的道歉信
2014/01/11 职场文书
中医临床专业自我鉴定范文
2014/01/15 职场文书
党员四风自我剖析材料思想汇报
2014/09/13 职场文书
团员自我评价范文
2015/03/10 职场文书
药店营业员岗位职责
2015/04/14 职场文书
关于观后感的作文
2015/06/18 职场文书
读《人生的智慧》有感:闲暇是人生的精华
2019/12/25 职场文书
使用Html+Css实现简易导航栏功能(导航栏遇到鼠标切换背景颜色)
2021/04/07 HTML / CSS
纯html+css实现奥运五环的示例代码
2021/08/02 HTML / CSS