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 相关文章推荐
jQuery的deferred对象使用详解
Aug 20 Javascript
js中apply方法的使用详细解析
Nov 04 Javascript
javascript获取元素CSS样式代码示例
Nov 28 Javascript
浅析js中的浮点型运算问题
Jan 06 Javascript
jquery做的一个简单的屏幕锁定提示框
Mar 26 Javascript
JS+CSS模拟可以无刷新显示内容的留言板实例
Mar 03 Javascript
jQuery实现网站添加高亮突出显示效果的方法
Jun 26 Javascript
AngularJS 使用ng-repeat报错 [ngRepeat:dupes]
Jan 19 Javascript
使用Angular-CLI构建NPM包的方法
Sep 07 Javascript
vue 属性拦截实现双向绑定的实例代码
Oct 24 Javascript
关于ES6尾调用优化的使用
Sep 11 Javascript
微信小程序实现自定义底部导航
Nov 18 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中for与foreach的区别分析
2011/03/09 PHP
win7下memCache的安装过程(具体操作步骤)
2013/06/28 PHP
Symfony2中被遗弃的getRequest()方法分析
2016/03/17 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
2016/09/30 PHP
PHP实现通过strace定位故障原因的方法
2018/04/29 PHP
jQuery ajax cache缓存问题
2010/07/01 Javascript
修改jquery.lazyload.js实现页面延迟载入
2010/12/22 Javascript
jquery操作select option 的代码小结
2011/06/21 Javascript
一个简单的动态加载js和css的jquery代码
2014/09/01 Javascript
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
Jquery常用的方法汇总
2015/09/01 Javascript
基于JavaScript实现熔岩灯效果导航菜单
2017/01/04 Javascript
js实现延迟加载的几种方法
2017/04/24 Javascript
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
JavaScript中join()、splice()、slice()和split()函数用法示例
2018/08/24 Javascript
vue项目首屏加载时间优化实战
2019/04/23 Javascript
JavaScript获取时区实现过程解析
2020/09/24 Javascript
[42:50]NB vs VP 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
使用Python编写提取日志中的中文的脚本的方法
2015/04/30 Python
python验证码识别教程之利用投影法、连通域法分割图片
2018/06/04 Python
python dataframe向下向上填充,fillna和ffill的方法
2018/11/28 Python
python卸载后再次安装遇到的问题解决
2019/07/10 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
Python虚拟环境virtualenv创建及使用过程图解
2020/12/08 Python
Css3新特性应用之形状总结
2016/12/08 HTML / CSS
HTML5 Canvas锯齿图代码实例
2014/04/10 HTML / CSS
幼儿园教师培训方案
2014/02/04 职场文书
分层教学实施方案
2014/03/19 职场文书
部门年终奖分配方案
2014/05/07 职场文书
设备收款委托书范本
2014/10/02 职场文书
2014年数学教研组工作总结
2014/12/06 职场文书
2015新年寄语(一句话)
2014/12/08 职场文书
大学生党员个人总结
2015/02/13 职场文书
党员自我评价范文2015
2015/03/03 职场文书
傲慢与偏见电影观后感
2015/06/10 职场文书
基于go interface{}==nil 的几种坑及原理分析
2021/04/24 Golang