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 相关文章推荐
EXTJS内使用ACTIVEX控件引起崩溃问题的解决方法
Mar 31 Javascript
jquery图片延迟加载 前端开发技能必备系列
Jun 18 Javascript
基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)
Jul 31 Javascript
JS上传前预览图片实例
Mar 25 Javascript
javascript实现密码强度显示
Mar 18 Javascript
JS处理json日期格式化问题
Oct 01 Javascript
jQuery实现图片轮播效果代码(基于jquery.pack.js插件)
Jun 02 Javascript
vue.js 使用v-if v-else发现没有执行解决办法
May 15 Javascript
Three.js中网格对象MESH的属性与方法详解
Sep 27 Javascript
Angular 5.0 来了! 有这些大变化
Nov 15 Javascript
解决修复npm安装全局模块权限的问题
May 17 Javascript
JavaScript实现显示和隐藏图片
Apr 29 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
用session做客户验证时的注意事项
2006/10/09 PHP
PHP信号量基本用法实例详解
2016/02/12 PHP
php简单解析mysqli查询结果的方法(2种方法)
2016/06/29 PHP
javascript同步Import,同步调用外部js的方法
2008/07/08 Javascript
event对象的方法 兼容多浏览器
2009/06/27 Javascript
JQuery Easyui Tree的oncheck事件实现代码
2010/05/28 Javascript
基于jquery的气泡提示效果
2010/05/31 Javascript
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
采用call方式实现js继承
2014/05/20 Javascript
JavaScript入门系列之知识点总结
2016/03/24 Javascript
JavaScript实现简单的日历效果
2016/09/25 Javascript
js获取Get值的方法
2016/09/29 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
Bootstrap Scrollspy源码学习
2017/03/02 Javascript
bootstrap下拉分页样式 带跳转页码
2018/12/29 Javascript
vue 开发企业微信整合案例分析
2019/12/02 Javascript
如何在selenium中使用js实现定位
2020/08/18 Javascript
JavaScript 绘制饼图的示例
2021/02/19 Javascript
python 切片和range()用法说明
2013/03/24 Python
python BeautifulSoup使用方法详解
2013/11/21 Python
python实现数通设备tftp备份配置文件示例
2014/04/02 Python
分享一下Python数据分析常用的8款工具
2018/04/29 Python
Django 浅谈根据配置生成SQL语句的问题
2018/05/29 Python
浅谈Django的缓存机制
2018/08/23 Python
pandas把所有大于0的数设置为1的方法
2019/01/26 Python
python scipy卷积运算的实现方法
2019/09/16 Python
手把手教你进行Python虚拟环境配置教程
2020/02/03 Python
解决Tensorflow 内存泄露问题
2020/02/05 Python
使用CSS3来实现滚动视差效果的教程
2015/08/24 HTML / CSS
深入浅析HTML5中的article和section的区别
2018/05/15 HTML / CSS
南非领先的在线旅行社:Travelstart南非
2016/09/04 全球购物
美国最大的农村生活方式零售店:Tractor Supply Company(TSC)
2017/05/15 全球购物
英国女士和男士时尚服装网上购物:Top Labels Online
2018/03/25 全球购物
奥地利度假券的专家:we-are.travel
2019/04/10 全球购物
医院护理人员的自我评价分享
2013/10/04 职场文书
如何解决springcloud feign 首次调用100%失败的问题
2021/06/23 Java/Android