jQuery自定义滚动条完整实例
作者:bea
本文实例讲述了jQuery自定义滚动条实现方法。分享给大家供大家参考,具体如下: 很多时候,由于美观上的考虑,往往需要自定义各种各样的滚动条,因此,本人做了一个demo 运行效果截图如下: 以下是代码部分: <html> <head> <script type="text/javascript" src="jquery-1.9.1.min.js"></script> <script> $(f
本文实例讲述了jQuery自定义滚动条实现方法。分享给大家供大家参考,具体如下:
很多时候,由于美观上的考虑,往往需要自定义各种各样的滚动条,因此,本人做了一个demo
运行效果截图如下:
以下是代码部分:
<html>
<head>
<script type="text/javascript" src="jquery-1.9.1.min.js"></script>
<script>
$(function(){
//内容高度
var content = $("#div2");
//框的高度
var box = $("#div1");
//自定义的滚动条
var scrollbar = $("#div3");
var scroll=function(content,box,scrollbar){
var bigHeight = content.height();
var smallHeight = box.height();
var rate = smallHeight/bigHeight;
var h = Math.floor(rate*smallHeight);
scrollbar.height(h);
var offset = box.offset()
var offsetT = offset.top+1;
scrollbar.mousedown(function(e){
var divOffsetT = scrollbar.offset().top;
var tempT = e.pageY-divOffsetT;
function move(e){
var newH = e.pageY-tempT-offsetT;
if(newH<0){
newH=0;
}else if(newH>(smallHeight-h)){
newH=smallHeight-h;
}
var rate2 = (newH+h)/smallHeight;
var contentH = Math.floor(bigHeight*rate2-smallHeight);
content.css("top",-contentH+"px");
scrollbar.css("top",newH+"px");
}
$("body").on("mousemove",move);
$("body").mouseup(function(){
$("body").off("mousemove",move);
});
});
}
scroll(content,box,scrollbar);
});
</script>
<style>
*{ margin:0; padding: 0;}
body{ font-size: 12px;}
#div1{ width: 200px; height: 300px; margin: 50px auto; position: relative; _overflow: hidden; border: 1px solid #000;}
#div2{ width: 180px; position: absolute; top: 0; left: 5px;}
#div3{ width: 10px; position: absolute; top: 0; right:5px; background: #000;}
</style>
</head>
<body>
<div id="div1">
<div id="div3"></div>
<div id="div2">
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
1<br>
</div>
</div>
<textarea name="" id="txt" cols="30" rows="10"></textarea>
</body>
</html>
希望本文所述对大家jQuery程序设计有所帮助。
猜你喜欢
您可能感兴趣的文章:
- 学习JavaScript设计模式之状态模式
- jQuery CSS3相结合实现时钟插件
- js实现对ajax请求面向对象的封装
- javascript弹性运动效果简单实现方法
- javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
- javascript运动框架用法实例分析(实现放大与缩小效果)
- jquery实现简单的遮罩层
- javascript多物体运动实现方法分析
- jQuery插件之Tocify动态节点目录菜单生成器附源码下载
- javascript匀速运动实现方法分析
- js如何改变文章的字体大小
- JavaScript缓冲运动实现方法(2则示例)
- jQuery抛物线运动实现方法(附完整demo源码下载)
- 基于javascript实现右下角浮动广告效果
- jQuery数据类型小结(14个)
- JS运动相关知识点小结(附弹性运动示例)
- 基于jquery实现图片上传本地预览功能
- JavaScript拖拽、碰撞、重力及弹性运动实例分析
- jQuery实现本地预览上传图片功能