项目使用的是左右布局,要求拖动分割线就可以改变左右窗口的大小尺寸。实现这个需求就需要借出jquery技术了。
涉及JavaScript实时响应鼠标事件动态改变页面元素属性的技巧,具有一定参考借鉴价值,需要的朋友可以参考下。
特地编写了一个实例,左右可拖动的内容显示区效果,左右拖动红条改变显示区域宽度大小,往左拖则全部显示右侧内容,往右拖则全部显示左则内容,类似QQ的聊天窗口一样,可以向上或向下拖动大小,以适合使用者的要求。本代码完全JavaScript与CSS代码结合实现,在各主流浏览器内运行的兼容性也不错,左右拖动改变大小的JS代码推荐给大家。
运行效果截图如下:
具体代码如下:
html 代码:
- <!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">企业咨询管理公司源码</a></li>
- <li><a href="#" target="_blank">QQ选号网站源码 QQ号码站源代码</a></li>
- <li><a href="#" target="_blank">婚礼设计公司源码</a></li>
- <li><a href="#" target="_blank">叉车机械公司源码 叉车工程企业网站代码</a></li>
- <li><a href="#" target="_blank">农产品网站源码 土特产品网站模板</a></li>
- <li><a href="#" target="_blank">政府网站管理系统源码</a></li>
- <li><a href="#" target="_blank">保健品公司源码 保健食品网站代码</a></li>
- <li><a href="#" target="_blank">物流公司网站源码 物流企业网站模板</a></li>
- <li><a href="#" target="_blank">安防产品网站源码 安防公司网站代码</a></li>
- <li><a href="#" target="_blank">网络科技公司网站源码</a></li>
- </ul>
- </div>
- <div id="bottom">
- <ul>
- <li><a href="#" target="_blank">PHP如何获取用户的IP地址</a></li>
- <li><a href="#" target="_blank">PHP查询MySql数据库实例 将结果用表格输出</a></li>
- <li><a href="#" target="_blank">php将图片以二进制形式保存到mysql数据库的方法</a></li>
- <li><a href="#" target="_blank">简单的php图片上传实例代码</a></li>
- <li><a href="#" target="_blank">php如何调用百度UEditor编辑框</a></li>
- <li><a href="#" target="_blank">PHP生成随机验证码实例代码</a></li>
- <li><a href="#" target="_blank">不允许保存更改,您所做的更改要求删除并重新创建以下表</a></li>
- <li><a href="#" target="_blank">C#中泛型的使用方法</a></li>
- <li><a href="#" target="_blank">如何限制MSSQL日志文件大小</a></li>
- <li><a href="#" target="_blank">不能局域网共享的原因分析</a></li>
- </ul>
- </div>
- <div id="line"></div>
- </div>
- </body>
- </html>
本项目希望可以帮到你。
声明:如需转载,请注明来源于www.webym.net并保留原文链接:http://www.webym.net/jiaocheng/909.html