JavaScript实现左右分栏宽度拉伸

简介: JavaScript实现左右分栏宽度拉伸

CSS部分:

1. <style type="text/css">
2. #left,#right,#middle {
3. height: 100%;
4. position: absolute;}
5. #left {
6. width: 350px;
7. background-color:deepskyblue;
8. overflow:hidden;}
9. #middle {
10. width: 5px;
11. background-color: black;
12. left: 350px;}
13. #middle:hover {
14. cursor: col-resize;}
15. #right {
16. right: 0;
17. background-color: coral;
18. left: 355px;
19. overflow: scroll;
20. width: auto;
21. text-indent: 2em;
22. line-height: 3em;}
23. </style>

HTML部分:

1. <body>
2. <div id="left"></div>
3. <div id="middle"></div>
4. <div id="right"></div>
5. </body>

JavaScript:

1. <script>
2. function getEle(id) {
3. return document.getElementById(id);
4.   }
5.   window.onload = function () {
6.     let left = getEle('left');
7.     let right = getEle('right');
8.     let middle = getEle('middle');
9.     let middleWidth = 5;
10.     middle.onmousedown = function (e) {
11.       var disX = (e || event).clientX;
12.       middle.left = middle.offsetLeft;
13.       document.onmousemove = function (e) {
14.         let middleLeft = middle.left + ((e || event).clientX - disX);
15.         let maxWidth = document.body.clientWidth;
16.         middleLeft < 0 && (middleLeft = 0);
17.         middleLeft > maxWidth && (middleLeft = maxWidth);
18.         middle.style.left = left.style.width = middleLeft + 'px';
19. right.style.width = maxWidth - middleLeft - middleWidth + 'px';
20. right.style.left = middleLeft + middleWidth + 'px';
21. return false;
22.       };
23.       document.onmouseup = function () {
24.         document.onmousemove = null;
25.         document.onmouseup = null;
26.         middle.releaseCapture && middle.releaseCapture();
27.       };
28.       middle.setCapture && middle.setCapture();
29. return false;
30.     };
31.   };
32. </script>

效果图:

JavaScript介绍:

       JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。

       JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。

       JavaScript的标准是ECMAScript 。截至 2012 年,所有浏览器都完整的支持ECMAScript 5.1,旧版本的浏览器至少支持ECMAScript 3 标准。2015年6月17日,ECMA国际组织发布了ECMAScript的第六版,该版本正式名称为 ECMAScript 2015,但通常被称为ECMAScript 6 或者ES2015。

JavaScript脚本语言具有以下特点:

(1)脚本语言。JavaScript是一种解释型的脚本语言,C、C++等语言先编译后执行,而JavaScript是在程序的运行过程中逐行进行解释。

(2)基于对象。JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。

(3)简单。JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑。

(4)动态性。JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操作JavaScript都可直接对这些事件给出相应的响应。

(5)跨平台性。JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提是机器上的浏览器支 持JavaScript脚本语言,JavaScript已被大多数的浏览器所支持。不同于服务器端脚本语言,例如PHPASP,JavaScript主要被作为客户端脚本语言在用户的浏览器上运行,不需要服务器的支持。所以在早期程序员比较倾向于使用JavaScript以减少对服务器的负担,而与此同时也带来另一个问题,安全性。

目录
相关文章
|
12月前
|
JavaScript
计算滚动条的宽度--js
计算滚动条的宽度--js
50 0
|
12月前
|
JavaScript
JS,Jquery获取各种屏幕的宽度和高度
JS,Jquery获取各种屏幕的宽度和高度
|
JavaScript 前端开发
js、css与高度(宽度)共享
高度共享,是高度共享和宽度共享的总称。是笔者总结的一个针对某些问题解决的思路。并不是一个新的技术点或模式 —— 至少目前来说。甚至可能你已经在项目中用过类似的。它的核心就是:降低 js 复杂计算和耗时操作在类似场景中的比重。没啥说的,通过两个业务场景描述一下即可。
js、css与高度(宽度)共享
|
移动开发 前端开发 JavaScript
JavaScript 基于HTML5 canvas 获取文本占用的像素宽度
JavaScript 基于HTML5 canvas 获取文本占用的像素宽度
187 0
|
JavaScript
js通过屏幕宽度判断设备类型
js通过屏幕宽度判断设备类型
53 0
|
移动开发 JavaScript HTML5
JS获取img图片的原始尺寸高度和宽度
JS获取img图片的原始尺寸高度和宽度
529 0
JS获取img图片的原始尺寸高度和宽度
|
JavaScript
vue.js:使用自定义指令监听元素尺寸变化(宽度、高度)
vue.js:使用自定义指令监听元素尺寸变化(宽度、高度)
919 0
|
JavaScript
js通过屏幕宽度判断设备类型
js通过屏幕宽度判断设备类型
219 0
|
Web App开发 JavaScript 前端开发