JS实现左右拖动改变内容显示区域大小的方法


Posted in Javascript onOctober 13, 2015

本文实例讲述了JS实现左右拖动改变内容显示区域大小的方法。分享给大家供大家参考。具体如下:

这里演示左右可拖动的内容显示区效果,左右拖动红条改变显示区域宽度大小,往左拖则全部显示右侧内容,往右拖则全部显示左则内容,类似QQ的聊天窗口一样,可以向上或向下拖动大小,以适合使用者的要求。本代码完全JavaScript与CSS代码结合实现,在各主流浏览器内运行的兼容性也不错,左右拖动改变大小的JS代码推荐给大家。

运行效果截图如下:

JS实现左右拖动改变内容显示区域大小的方法

在线演示地址如下:

具体代码如下:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>左右可拖动的内容显示区</title>
<style>
ul,li{margin:0;padding:0;}
body{font:14px/1.5 Arial;color:#666;}
#box{position:relative;width:600px;height:400px;border:2px solid #000;margin:10px auto;overflow:hidden;}
#box ul{list-style-position:inside;margin:10px;}
#top,#bottom{color:#FFF;width:300px;height:400px;overflow:hidden;}
#top{background:green; float:left}
#bottom{background:skyblue;float:right}
#line{position:absolute;top:0;left:50%;height:100%;width:4px;overflow:hidden;background:red;cursor:w-resize;}
</style>
<script>
function $(id) {
 return document.getElementById(id) 
}
window.onload = function() {
 var oBox = $("box"), oTop = $("top"), oBottom = $("bottom"), oLine = $("line");
 oLine.onmousedown = function(e) {
 var disX = (e || event).clientX;
 oLine.left = oLine.offsetLeft;
 document.onmousemove = function(e) { 
  var iT = oLine.left + ((e || event).clientX - disX);
 var e=e||window.event,tarnameb=e.target||e.srcElement;
  var maxT = oBox.clientWight - oLine.offsetWidth;
  oLine.style.margin = 0;
  iT < 0 && (iT = 0);
  iT > maxT && (iT = maxT);
  oLine.style.left = oTop.style.width = iT + "px";
  oBottom.style.width = oBox.clientWidth - iT + "px";
 $("msg").innerText='top.width:'+oLine.style.width+'---bottom.width:'+oBottom.style.width+'---oLine.offsetLeft:'+oLine.offsetLeft+'---disX:'+disX+'---tarnameb:'+tarnameb.tagName;
  return false
 }; 
 document.onmouseup = function() {
  document.onmousemove = null;
  document.onmouseup = null; 
  oLine.releaseCapture && oLine.releaseCapture()
 };
 oLine.setCapture && oLine.setCapture();
 return false
 };
};
</script>
</head>
<body>
<center>左右拖动红条改变显示区域宽度<span id="msg"></span></center>
<div id="box">
 <div id="top">
 <ul>
 <li><a href="#" target="_blank">jQuery初学实例代码集</a></li><li><a href="#" target="_blank">100多个ExtJS应用初学实例集</a></li>
  <li><a href="#" target="_blank">基于jQuery的省、市、县三级级联菜单</a></li>
  <li><a href="#" target="_blank">一个类似QQ网的JS相册展示特效</a></li>
  <li><a href="#" target="_blank">eWebEditor v4.60 最新通用精简版</a></li>
  <li><a href="#" target="_blank">FCKeditor 2.6.4.1 网页编辑器</a></li>
  <li><a href="#" target="_blank">jQuery平滑图片滚动</a></li>
  <li><a href="#" target="_blank">Xml+JS省市县三级联动菜单</a></li>
  <li><a href="#" target="_blank">jQuery 鼠标滑过链接文字弹出层提示的效果</a></li>
  <li><a href="#" target="_blank">JS可控制的图片左右滚动特效(走马灯)</a></li>
 </ul>
 </div>
 <div id="bottom">
 <ul>
 <li><a href="#" target="_blank">网页上部大Banner广告特效及图片横向滚动代码</a></li>
  <li><a href="#" target="_blank">FlexSlider网页广告、图片焦点图切换插件</a></li>
  <li><a href="#" target="_blank">兼容IE,火狐的JavaScript图片切换</a></li>
  <li><a href="#" target="_blank">jQuery仿ios无线局域网WIFI提示效果(折叠面板)</a></li>
  <li><a href="#" target="_blank">TopUp js图片展示及弹出层特效代码</a></li>
  <li><a href="#" target="_blank">jQuery仿Apple苹果手机放大镜阅读效果</a></li>
  <li><a href="#" target="_blank">Colortip 文字title多样式提示插件</a></li>
  <li><a href="#" target="_blank">网页换肤,Ajax网页风格切换代码集</a></li>
  <li><a href="#" target="_blank">超强大、漂亮的蓝色网页弹出层效果</a></li>
  <li><a href="#" target="_blank">jQuery 图像预览功能的代码实现</a></li>
 </ul>
 </div>
 <div id="line"></div>
</div>
</body>
</html>

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

Javascript 相关文章推荐
一个简单的JavaScript数据缓存系统实现代码
Oct 24 Javascript
基于jQuery的弹出框插件
Mar 18 Javascript
jquery提交form表单时禁止重复提交的方法
Feb 13 Javascript
jQuery中:first-child选择器用法实例
Dec 31 Javascript
简介JavaScript中用于处理正切的Math.tan()方法
Jun 15 Javascript
深入讲解AngularJS中的自定义指令的使用
Jun 18 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
Jun 30 Javascript
关于定制FileField中的上传文件名称问题
Aug 22 Javascript
angularJs 表格添加删除修改查询方法
Feb 27 Javascript
JS实现获取当前所在周的周六、周日示例分析
May 11 Javascript
微信小程序实现点击图片放大预览
Oct 21 Javascript
JavaScript中展开运算符及应用的实例代码
Jan 14 Javascript
JS实现自动定时切换的简洁网页选项卡效果
Oct 13 #Javascript
JS+CSS实现仿雅虎另类滑动门切换效果
Oct 13 #Javascript
JS实现的简洁二级导航菜单雏形效果
Oct 13 #Javascript
JS实现带圆弧背景渐变效果的导航菜单代码
Oct 13 #Javascript
js验证真实姓名与身份证号是否匹配
Oct 13 #Javascript
编写高性能Javascript代码的N条建议
Oct 12 #Javascript
JavaScript 性能优化小结
Oct 12 #Javascript
You might like
php中判断字符串是否全是中文或含有中文的实现代码
2011/09/16 PHP
php实现检查文章是否被百度收录
2015/01/27 PHP
Smarty模板配置实例简析
2019/07/20 PHP
参考:关于Javascript中实现暂停的几篇文章
2007/03/04 Javascript
javascript 变量作用域 代码分析
2009/06/26 Javascript
深入理解JavaScript定时机制
2010/10/29 Javascript
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
2011/11/14 Javascript
JavaScript 异常处理 详解
2015/02/06 Javascript
HTML5 实现的一个俄罗斯方块实例代码
2016/09/19 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
2016/11/25 Javascript
js 性能优化之快速响应的用户界面
2017/02/15 Javascript
详解React 在服务端渲染的实现
2017/11/16 Javascript
nginx+vue.js实现前后端分离的示例代码
2018/02/12 Javascript
vue和webpack项目构建过程常用的npm命令详解
2018/06/15 Javascript
vue+php实现的微博留言功能示例
2019/03/16 Javascript
vue-router源码之history类的浅析
2019/05/21 Javascript
JavaScript实现简单计算器功能
2019/12/19 Javascript
[54:53]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第二场
2014/05/23 DOTA
python实现的udp协议Server和Client代码实例
2014/06/04 Python
python-opencv颜色提取分割方法
2018/12/08 Python
PyQt5实现简易电子词典
2019/06/25 Python
Java Spring项目国际化(i18n)详细方法与实例
2020/03/20 Python
python else语句在循环中的运用详解
2020/07/06 Python
python爬虫使用正则爬取网站的实现
2020/08/03 Python
python中二分查找法的实现方法
2020/12/06 Python
css3实现背景模糊的三种方式(小结)
2020/05/15 HTML / CSS
boostrap modal 闪现问题的解决方法
2020/09/01 HTML / CSS
德国领先的大尺码和超大尺码男装在线零售商:Bigtex
2019/06/22 全球购物
Moss Bros官网:英国排名第一的西装店
2020/02/26 全球购物
巴西购物网站:Onofre Agora
2020/06/08 全球购物
新驾驶员个人自我评价
2014/01/03 职场文书
岗位职责怎么写
2014/03/14 职场文书
2015年公司新年寄语
2014/12/08 职场文书
2015年班主任个人工作总结
2015/03/31 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书
Springboot集成kafka高级应用实战分享
2022/08/14 Java/Android