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 相关文章推荐
Add a Picture to a Microsoft Word Document
Jun 15 Javascript
JavaScript自执行闭包的小例子
Jun 29 Javascript
jQuery中filter()和find()的区别深入了解
Sep 25 Javascript
JS对select控件option选项的增删改查示例代码
Oct 21 Javascript
js字符串转换成数字与数字转换成字符串的实现方法
Jan 08 Javascript
js中toString()和String()区别详解
Mar 23 Javascript
基于node.js制作简单爬虫教程
Jun 29 Javascript
Vue-Router实现组件间跳转的三种方法
Nov 07 Javascript
基于vue循环列表时点击跳转页面的方法
Aug 31 Javascript
angular6 填坑之sdk的方法
Dec 27 Javascript
小程序如何在不同设备上自适应生成海报的实现方法
Aug 20 Javascript
nestjs中异常过滤器Exceptionfilter的具体使用
Feb 07 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
1.PHP简介
2006/10/09 PHP
PHP中英混合字符串截取函数代码
2011/07/17 PHP
一个简洁的PHP可逆加密函数(分享)
2013/06/06 PHP
PHP stripos()函数及注意事项的分析
2013/06/08 PHP
百度地图API应用之获取用户的具体位置
2014/06/10 PHP
详解WordPress中用于更新和获取用户选项数据的PHP函数
2016/03/08 PHP
PHP的自定义模板引擎
2017/03/24 PHP
form中限制文本字节数js代码
2007/06/10 Javascript
js右键菜单效果代码
2007/07/21 Javascript
JavaScript和JQuery实用代码片段(一)
2010/04/07 Javascript
zeroclipboard复制到剪切板的flash
2010/08/04 Javascript
JavaScript学习笔记记录我的旅程
2012/05/23 Javascript
JS模板实现方法
2013/04/03 Javascript
jquery 设置元素相对于另一个元素的top值(实例代码)
2013/11/06 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
2014/12/20 Javascript
Node.js开启Https的实践详解
2016/10/25 Javascript
vuejs如何配置less
2017/04/25 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
2018/01/13 Javascript
微信小程序中this.data与this.setData的区别详解
2018/09/17 Javascript
JavaScript 对引擎、运行时、调用堆栈的概述理解
2018/10/22 Javascript
vue项目刷新当前页面的三种方法
2018/12/04 Javascript
js核心基础之构造函数constructor用法实例分析
2019/05/11 Javascript
Vue实现剪贴板复制功能
2019/12/31 Javascript
jQuery HTML设置内容和属性操作实例分析
2020/05/20 jQuery
Python即时网络爬虫项目启动说明详解
2018/02/23 Python
python中实现数组和列表读取一列的方法
2018/04/03 Python
python生成密码字典的方法
2018/07/06 Python
Python 3.8 新功能全解
2019/07/25 Python
教师自荐书
2013/10/08 职场文书
妇科医生自荐信
2013/11/05 职场文书
学生干部学习的自我评价
2014/02/18 职场文书
大二法英学生职业生涯规划范文
2014/02/27 职场文书
集中采购方案
2014/06/10 职场文书
建筑工地标语
2014/06/18 职场文书
大学生创业事迹材料
2014/12/30 职场文书
golang中字符串MD5生成方式总结
2021/07/04 Golang