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 相关文章推荐
JS实现打开本地文件或文件夹
Mar 09 Javascript
firefox浏览器不支持innerText的解决方法
Aug 07 Javascript
jquery对table中各数据的增加、保存、删除操作示例
May 14 Javascript
jQuery简单入门示例之用户校验demo示例
Jul 09 Javascript
JS对HTML表格进行增删改操作
Aug 22 Javascript
关于JavaScript和jQuery的类型判断详解
Oct 08 Javascript
基于ajax与msmq技术的消息推送功能实现代码
Dec 26 Javascript
基于js 字符串indexof与search方法的区别(详解)
Dec 04 Javascript
jQuery.parseJSON()函数详解
Feb 28 jQuery
layer关闭当前窗口页面以及确认取消按钮的方法
Sep 09 Javascript
vue中实现图片压缩 file文件的方法
May 28 Javascript
Vue作用域插槽实现方法及作用详解
Jul 08 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
屏蔽机器人从你的网站搜取email地址的php代码
2012/11/14 PHP
php验证session无效的解决方法
2014/11/04 PHP
如何正确配置Nginx + PHP
2016/07/15 PHP
Yii框架小部件(Widgets)用法实例详解
2020/05/15 PHP
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
Ext面向对象开发实践(续)
2008/11/18 Javascript
jQuery 联动日历实现代码
2012/05/31 Javascript
基于jQuery的计算文本框字数的代码
2012/06/06 Javascript
javascript中的缓动效果实现程序
2012/12/29 Javascript
原生javascript图片自动或手动切换示例附演示源码
2013/09/04 Javascript
JQuery跳出each循环的方法
2015/04/16 Javascript
Bootstrap基础学习
2015/06/16 Javascript
JS动态的把左边列表添加到右边的实现代码(可上下移动)
2016/11/17 Javascript
微信小程序 scroll-view组件实现列表页实例代码
2016/12/14 Javascript
原生js实现密码输入框值的显示隐藏
2017/07/17 Javascript
node.js-v6新版安装具体步骤(分享)
2017/09/06 Javascript
响应式框架Bootstrap栅格系统的实例
2017/12/19 Javascript
浅谈发布订阅模式与观察者模式
2019/04/09 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
Vue之Mixins(混入)的使用方法
2019/09/24 Javascript
JS定时器如何实现提交成功提示功能
2020/06/12 Javascript
vue实现页面切换滑动效果
2020/06/29 Javascript
Vue组件简易模拟实现购物车
2020/12/21 Vue.js
python中将阿拉伯数字转换成中文的实现代码
2011/05/19 Python
用TensorFlow实现多类支持向量机的示例代码
2018/04/28 Python
使用WingPro 7 设置Python路径的方法
2019/07/24 Python
浅析python 中大括号中括号小括号的区分
2019/07/29 Python
python实现LRU热点缓存及原理
2019/10/29 Python
python实现TCP文件传输
2020/03/20 Python
Python如何脚本过滤文件中的注释
2020/05/27 Python
解决python便携版无法直接运行py文件的问题
2020/09/01 Python
JavaScript+Canvas实现自定义画板的示例代码
2019/05/13 HTML / CSS
中国海淘族值得信赖的海淘返利网站:55海淘
2017/01/16 全球购物
英国网络托管和域名领导者:Web Hosting UK
2017/10/15 全球购物
2015年公共机构节能宣传周活动总结
2015/03/26 职场文书
读《茶花女》有感:山茶花的盛开与凋零
2020/01/17 职场文书