现在的位置: 网页制作教程JS网页特效 >正文
jquery相关教程

Jquery实现左右拖动动态改变窗口大小的方法

发表于2017/4/29 JS网页特效 0条评论 ⁄ 热度 3,211℃

项目使用的是左右布局,要求拖动分割线就可以改变左右窗口的大小尺寸。实现这个需求就需要借出jquery技术了。

涉及JavaScript实时响应鼠标事件动态改变页面元素属性的技巧,具有一定参考借鉴价值,需要的朋友可以参考下。

特地编写了一个实例,左右可拖动的内容显示区效果,左右拖动红条改变显示区域宽度大小,往左拖则全部显示右侧内容,往右拖则全部显示左则内容,类似QQ的聊天窗口一样,可以向上或向下拖动大小,以适合使用者的要求。本代码完全JavaScript与CSS代码结合实现,在各主流浏览器内运行的兼容性也不错,左右拖动改变大小的JS代码推荐给大家。

运行效果截图如下:

左右拖动改变窗体大小的效果截图

具体代码如下:

html 代码:
  1. <!DOCTYPE html>
  2. <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  3. <title>左右可拖动的内容显示区</title>
  4. <style>
  5. ul,li{margin:0;padding:0;}
  6. body{font:14px/1.5 Arial;color:#666;}
  7. #box{position:relative;width:600px;height:400px;border:2px solid #000;margin:10px auto;overflow:hidden;}
  8. #box ul{list-style-position:inside;margin:10px;}
  9. #top,#bottom{color:#FFF;width:300px;height:400px;overflow:hidden;}
  10. #top{background:green; float:left}
  11. #bottom{background:skyblue;float:right}
  12. #line{position:absolute;top:0;left:50%;height:100%;width:4px;overflow:hidden;background:red;cursor:w-resize;}
  13. </style>
  14. <script>
  15. function $(id) {
  16. return document.getElementById(id)
  17. }
  18. window.onload = function() {
  19. var oBox = $("box"), oTop = $("top"), oBottom = $("bottom"), oLine = $("line");
  20. oLine.onmousedown = function(e) {
  21. var disX = (e || event).clientX;
  22. oLine.left = oLine.offsetLeft;
  23. document.onmousemove = function(e) {
  24. var iT = oLine.left + ((e || event).clientX - disX);
  25. var e=e||window.event,tarnameb=e.target||e.srcElement;
  26. var maxT = oBox.clientWight - oLine.offsetWidth;
  27. oLine.style.margin = 0;
  28. iT < 0 && (iT = 0);
  29. iT > maxT && (iT = maxT);
  30. oLine.style.left = oTop.style.width = iT + "px";
  31. oBottom.style.width = oBox.clientWidth - iT + "px";
  32. $("msg").innerText='top.width:'+oLine.style.width+'---bottom.width:'+oBottom.style.width+'---oLine.offsetLeft:'+oLine.offsetLeft+'---disX:'+disX+'---tarnameb:'+tarnameb.tagName;
  33. return false
  34. };
  35. document.onmouseup = function() {
  36. document.onmousemove = null;
  37. document.onmouseup = null;
  38. oLine.releaseCapture && oLine.releaseCapture()
  39. };
  40. oLine.setCapture && oLine.setCapture();
  41. return false
  42. };
  43. };
  44. </script>
  45. </head>
  46. <body>
  47. <center>左右拖动红条改变显示区域宽度<span id="msg"></span></center>
  48. <div id="box">
  49. <div id="top">
  50. <ul>
  51. <li><a href="#" target="_blank">企业咨询管理公司源码</a></li>
  52. <li><a href="#" target="_blank">QQ选号网站源码 QQ号码站源代码</a></li>
  53. <li><a href="#" target="_blank">婚礼设计公司源码</a></li>
  54. <li><a href="#" target="_blank">叉车机械公司源码 叉车工程企业网站代码</a></li>
  55. <li><a href="#" target="_blank">农产品网站源码 土特产品网站模板</a></li>
  56. <li><a href="#" target="_blank">政府网站管理系统源码</a></li>
  57. <li><a href="#" target="_blank">保健品公司源码 保健食品网站代码</a></li>
  58. <li><a href="#" target="_blank">物流公司网站源码 物流企业网站模板</a></li>
  59. <li><a href="#" target="_blank">安防产品网站源码 安防公司网站代码</a></li>
  60. <li><a href="#" target="_blank">网络科技公司网站源码</a></li>
  61. </ul>
  62. </div>
  63. <div id="bottom">
  64. <ul>
  65. <li><a href="#" target="_blank">PHP如何获取用户的IP地址</a></li>
  66. <li><a href="#" target="_blank">PHP查询MySql数据库实例 将结果用表格输出</a></li>
  67. <li><a href="#" target="_blank">php将图片以二进制形式保存到mysql数据库的方法</a></li>
  68. <li><a href="#" target="_blank">简单的php图片上传实例代码</a></li>
  69. <li><a href="#" target="_blank">php如何调用百度UEditor编辑框</a></li>
  70. <li><a href="#" target="_blank">PHP生成随机验证码实例代码</a></li>
  71. <li><a href="#" target="_blank">不允许保存更改,您所做的更改要求删除并重新创建以下表</a></li>
  72. <li><a href="#" target="_blank">C#中泛型的使用方法</a></li>
  73. <li><a href="#" target="_blank">如何限制MSSQL日志文件大小</a></li>
  74. <li><a href="#" target="_blank">不能局域网共享的原因分析</a></li>
  75. </ul>
  76. </div>
  77. <div id="line"></div>
  78. </div>
  79. </body>
  80. </html>

本项目希望可以帮到你。

  • 暂无评论