利用div+jquery自定义滚动条样式的2种方法


Posted in Javascript onJuly 18, 2013

最近做项目中有一个模块是用于实时监控的,左边有个菜单栏用于显示所有的设备,那当然是从数据库中动态获取的了,右边是个iframe用于显示监控画面。本来这个功能并不复杂,左边的菜单项是利用dtree.js来实现的,可时当功能实现完成之后,却发现一个问题,就是左边菜单栏中的设备名有的会很长,会超出了div的长度,准确说是左边iframe的宽度和长度不够。那么,这时就必须要利用滚动条了,可以设置左边菜单项div的overflow-x:auto;overlfow-y:auto;这样就会自动生成了滚动条,但是大家都知道自带的不好看。接下来就是重点了,如何修改滚动条的样式呢?

经过从网上的不断搜索,发现有两种方法:

第一种方法:利用CSS提供的样式,一共是8种属性吧,在这里不做详细介绍,网上很多这方面的资料。

第二种方法:自己写一个新的滚动条,即不用div自带的滚动条。这样想要什么样的效果就有什么样的效果。具体实现,在网上搜了很多,可以发现基本上只有竖向滚动条,而没有横向滚动条,无奈之下,自己利用jquery写另一个滚动条,当然也借鉴了只有竖向滚动条的程序。

说一下具体实现思路:目标div 即需要生成滚动条的div,里面嵌套了3个div,分别是用于显示内容的div_content,显示竖向滚动条的div_H,显示横向滚动条的div_W,具体布局就是按照自带滚动条的div的布局一样,然后显示滚动条的div即div_H和div_W有各自包含了3个div,即左右箭头2个,滚动条1个。具体代码如下:

if($(_self).children(".jscroll-c").height()==null){ 
//添加内容框(div) 
$(_self).wrapInner("<div class='jscroll-c' style='top:0px;z-index:9999;zoom:1;position:relative;'></div>"); 
//添加竖向滚动条 
$(_self).append("<div class='jscroll-e' unselectable='on' style='height:97.5%;top:0px;right:0;-moz-user-select:none;position:absolute;overflow:hidden;z-index:10000;'><div class='jscroll-u' style='position:absolute;top:0px;width:100%;right:0;background:blue;overflow:hidden'></div><div class='jscroll-h' unselectable='on' style='background:green;position:absolute;left:0;-moz-user-select:none;border:1px solid'></div><div class='jscroll-d' style='position:absolute;bottom:0px;width:100%;left:0;background:blue;overflow:hidden'></div></div>"); 
//添加横向滚动条 
$(_self).append("<div class='jscroll-s' unselectable='on' style='width:180px;bottom:0px;left:0;-moz-user-select:none;position:absolute;overflow:hidden;z-index:10000;'><div class='jscroll-l' style='position:absolute;bottom:0px;height:100%;left:0;background:blue;overflow:hidden'></div><div class='jscroll-g' unselectable='on' style='height:100%;background:green;position:absolute;left:0;-moz-user-select:none;border:1px solid'></div><div class='jscroll-r' style='position:absolute;bottom:0px;height:100%;right:0;background:blue;overflow:hidden'></div></div>"); 
}

然后无非就是一些判断,div的内容是否超过了div的范围,监听事件的添加。具体代码可见我的下载资源;
Javascript 相关文章推荐
用jscript实现新建和保存一个word文档
Jun 15 Javascript
Extjs中ComboBoxTree实现的下拉框树效果(自写)
May 28 Javascript
使用indexOf等在JavaScript的数组中进行元素查找和替换
Sep 18 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
Nov 12 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
Aug 30 Javascript
JQuery替换DOM节点的方法
Jun 11 Javascript
js实现的动画导航菜单效果代码
Sep 10 Javascript
Javascript之String对象详解
Jun 08 Javascript
Node.js与Sails redis组件的使用教程
Feb 14 Javascript
Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
Apr 09 Javascript
JS实现网站吸顶条
Jan 08 Javascript
微信小程序利用for循环解决内容变更问题
Mar 05 Javascript
JavaScript实现复制功能各浏览器支持情况实测
Jul 18 #Javascript
GRID拖拽行的实例代码
Jul 18 #Javascript
去掉gridPanel表头全选框的小例子
Jul 18 #Javascript
gridpanel动态加载数据的实例代码
Jul 18 #Javascript
javaScript NameSpace 简单说明介绍
Jul 18 #Javascript
JS获取鼠标坐标的实例方法
Jul 18 #Javascript
非常好用的JsonToString 方法 简单实例
Jul 18 #Javascript
You might like
php smarty截取中文字符乱码问题?gb2312/utf-8
2011/11/07 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
基于jquery的让textarea自适应高度的插件
2010/08/03 Javascript
基于jQuery的简单九宫格实现代码
2012/08/09 Javascript
原生JS操作网页给p元素添加onclick事件及表格隔行变色
2013/12/01 Javascript
jQuery的选择器中的通配符使用介绍
2014/03/20 Javascript
浅谈JavaScript中定义变量时有无var声明的区别
2014/08/18 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
2015/08/25 Javascript
js HTML5手机刮刮乐代码
2020/09/29 Javascript
AngularJS表单基本操作
2017/01/09 Javascript
微信小程序 欢迎页面的制作(源码下载)
2017/01/09 Javascript
jquery设置css样式的多种方法(总结)
2017/02/21 Javascript
JavaScript结合HTML DOM实现联动菜单
2017/04/05 Javascript
基于复选框demo(分享)
2017/09/27 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
2018/06/14 Javascript
一次微信小程序内地图的使用实战记录
2019/09/09 Javascript
vue的三种图片引入方式代码实例
2019/11/19 Javascript
微信小程序swiper左右扩展各显示一半代码实例
2019/12/05 Javascript
Element Backtop回到顶部的具体使用
2020/07/27 Javascript
python中sys.argv参数用法实例分析
2015/05/20 Python
python根据京东商品url获取产品价格
2015/08/09 Python
Python实现简单网页图片抓取完整代码实例
2017/12/15 Python
Python获取统计自己的qq群成员信息的方法
2019/11/15 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
2020/08/19 Python
python反编译教程之2048小游戏实例
2021/03/03 Python
汽车运用工程系毕业生自荐信
2013/12/27 职场文书
爱情保证书范文
2014/02/01 职场文书
《和我们一样享受春天》教学反思
2014/02/07 职场文书
毕业生就业意向书
2014/04/01 职场文书
媒体宣传策划方案
2014/05/25 职场文书
企业三严三实学习心得体会
2014/10/13 职场文书
大学生入党自传2015
2015/06/26 职场文书
2016年端午节红领巾广播稿
2015/12/18 职场文书
windows下快速安装nginx并配置开机自启动的方法
2021/05/11 Servers
pytorch 使用半精度模型部署的操作
2021/05/24 Python
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python