利用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 相关文章推荐
基于jQuery的弹出消息插件 DivAlert之旅(一)
Apr 01 Javascript
鼠标经过tr时,改变tr当前背景颜色
Jan 13 Javascript
JS常用表单验证方法总结
May 22 Javascript
微信小程序 二维码canvas绘制实例详解
Jan 06 Javascript
全面总结Javascript对数组对象的各种操作
Jan 22 Javascript
微信小程序movable view移动图片和双指缩放实例代码
Aug 08 Javascript
checkbox:click事件触发span元素内容改变的方法
Sep 11 Javascript
微信小程序获取手机号授权用户登录功能
Nov 09 Javascript
基于three.js编写的一个项目类示例代码
Jan 05 Javascript
vue项目部署到Apache服务器中遇到的问题解决
Aug 24 Javascript
Node.js模拟发起http请求从异步转同步的5种用法
Sep 26 Javascript
vue中typescript装饰器的使用方法超实用教程
Jun 17 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 网络开发详解之远程文件包含漏洞
2010/04/25 PHP
基于wordpress主题制作的具体实现步骤
2013/05/10 PHP
PHP中把stdClass Object转array的几个方法
2014/05/08 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
2014/07/28 PHP
PHP正则替换函数preg_replace和preg_replace_callback使用总结
2014/09/22 PHP
mod_php、FastCGI、PHP-FPM等PHP运行方式对比
2015/07/02 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
2016/05/26 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
javascript object array方法使用详解
2012/12/03 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
使用百度地图api实现根据地址查询经纬度
2014/12/11 Javascript
15个常用的jquery代码片段
2015/12/19 Javascript
详解原生JavaScript实现jQuery中AJAX处理的方法
2016/05/10 Javascript
JS前端笔试题分析
2016/12/19 Javascript
vue实现表格增删改查效果的实例代码
2017/07/18 Javascript
JavaScript解决浮点数计算不准确问题的方法分析
2018/07/09 Javascript
javascript数据结构之多叉树经典操作示例【创建、添加、遍历、移除等】
2018/08/01 Javascript
浅谈express.js框架中间件(middleware)
2019/04/07 Javascript
使用webpack将ES6转化ES5的实现方法
2019/10/13 Javascript
原生js实现五子棋游戏
2020/05/28 Javascript
使用jQuery实现购物车
2020/10/29 jQuery
vue仿携程轮播图效果(滑动轮播,下方高度自适应)
2021/02/11 Vue.js
详解Python最长公共子串和最长公共子序列的实现
2018/07/07 Python
对python添加模块路径的三种方法总结
2018/10/16 Python
python实现抖音点赞功能
2019/04/07 Python
不到20行代码用Python做一个智能聊天机器人
2019/04/19 Python
python实现小球弹跳效果
2019/05/10 Python
Python中py文件转换成exe可执行文件的方法
2019/06/14 Python
Python中print函数简单使用总结
2019/08/05 Python
Python字符串hashlib加密模块使用案例
2020/03/10 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
2021/02/22 Python
台湾旅游网站:雄狮旅游网
2017/08/16 全球购物
意外死亡赔偿协议书
2014/10/14 职场文书
2014年司法所工作总结
2014/11/22 职场文书
教师节表彰会主持词
2015/07/06 职场文书