js 分栏效果实现代码

网上我也见到一些分栏效果,也有一个jquery的插件jquery.splitter.js, 但是他们基本都没有解决一个问题:如果页面上有iframe, 当拖动分割线经过iframe的时候,鼠标不听使唤了,我曾经开过帖子讨论过这个问题。本例采用一个小技巧解决了这个问题,使拖动流畅。
复制代码 代码如下:



Splitter demo




    

            

                
            

            

            

                    在此处右键察看源代码并把其中的js保存为splitter.js

                    splitter.js使用方法:

                    页面上需要有一个div作为容器(id=splitter_container): 可拖动效果就在这个容器里面进行

                    容器里面需要有3个div,分别代表左栏(id=splitter_left_panel),分割线(id=splitter_bar), 右栏(id=splitter_right_panel)

                    这4个div需要用css修饰一下

                    
#splitter_container{
width: 100%;
height: 100%;
border: solid #eee 1px;
margin: 0px;
padding: 0px;
overflow: hidden;
}

#splitter_left_panel{
width: 300px;
height: 100%;
float: left;
border: solid blue 0px;
}

#splitter_bar{
width: 8px;
height: 100%;
float: left;
background-color: #ccc;
cursor: col-resize;
}

#splitter_right_panel{
height: 100%;
padding-top: 10px;
}




给body加上onload事件处理函数,以触发splitter:

onload="Splitter.init({id: 'splitter_Container', isWidthLimit: true});"

Splitter的init方法传入一个json对象作为配置参数,其中容器id是必需的.

还可以配置更多的参数, 比如:

isWidthLimit: 可选值true, false, 设置左面板是否限制宽度;

lPanelMaxWidth: 左面板最大宽度,比如: 500px;

lPanelMinWidth: 左面板最小宽度,比如: 100px;

barActiveColor: 分割线拖动的时候的颜色: 比如'red', '#0080ff';

更多web开发相关的内容就在blog.csdn.net/sunxing007    
            

    



你可能感兴趣的:(js 分栏效果实现代码)