jQuery自定义滚动条完整实例


Posted in Javascript onJanuary 08, 2016

本文实例讲述了jQuery自定义滚动条实现方法。分享给大家供大家参考,具体如下:

很多时候,由于美观上的考虑,往往需要自定义各种各样的滚动条,因此,本人做了一个demo

运行效果截图如下:

jQuery自定义滚动条完整实例

以下是代码部分:

<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 相关文章推荐
JS弹出对话框返回值代码(asp.net后台)
Dec 28 Javascript
JS和函数式语言的三特性
Mar 05 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
May 29 Javascript
Json解析的方法小结
Jun 22 Javascript
如何编写jquery插件
Mar 29 jQuery
angular.js+node.js实现下载图片处理详解
Mar 31 Javascript
vue axios用法教程详解
Jul 23 Javascript
关于react-router的几种配置方式详解
Jul 24 Javascript
快速解决vue-cli不能初始化webpack模板的问题
Mar 20 Javascript
bootstrap table实现iview固定列的效果实例代码详解
Sep 30 Javascript
详解JavaScript修改注册表的方法
Jan 05 Javascript
node创建Vue项目步骤详解
Mar 06 Javascript
javascript正则表达式定义(语法)总结
Jan 08 #Javascript
jquery限定文本框只能输入数字(整数和小数)
Jan 08 #Javascript
jQuery实现的鼠标滑过弹出放大图片特效
Jan 08 #Javascript
jQuery鼠标悬浮链接弹出跟随图片实例代码
Jan 08 #Javascript
javascript中select下拉框的用法总结
Jan 07 #Javascript
详解JS中Array对象扩展与String对象扩展
Jan 07 #Javascript
js创建对象的方法汇总
Jan 07 #Javascript
You might like
PHP4实际应用经验篇(6)
2006/10/09 PHP
PHP 已经成熟
2006/12/04 PHP
php清除和销毁session的方法分析
2015/03/19 PHP
laravel学习教程之关联模型
2016/07/30 PHP
PHP abstract 抽象类定义与用法示例
2018/05/29 PHP
Nginx+php配置文件及原理解析
2020/12/09 PHP
CSS心形加载的动画源码的实现
2021/03/09 HTML / CSS
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
2007/03/24 Javascript
JavaScript中的普通函数与构造函数比较
2015/04/07 Javascript
适用于javascript开发者的Processing.js入门教程
2016/02/24 Javascript
如何让一个json文件显示在表格里【实现代码】
2016/05/09 Javascript
浅谈angularjs module返回对象的坑(推荐)
2016/10/21 Javascript
Bootstrap 轮播(Carousel)插件
2016/12/26 Javascript
Bootstrap表单使用方法详解
2017/02/17 Javascript
微信小程序使用picker实现时间和日期选择框功能【附源码下载】
2017/12/11 Javascript
使用ngrok+express解决本地环境中微信接口调试问题
2018/02/26 Javascript
vue实现图片上传到后台
2020/06/29 Javascript
[00:27]DOTA2荣耀之路2:Patience from zhou!
2018/05/24 DOTA
Python for Informatics 第11章之正则表达式(二)
2016/04/21 Python
python将处理好的图像保存到指定目录下的方法
2019/01/10 Python
详解python中init方法和随机数方法
2019/03/13 Python
简单了解python PEP的一些知识
2019/07/13 Python
详解Python打包分发工具setuptools
2019/08/05 Python
pandas分组聚合详解
2020/04/10 Python
Python如何输出整数
2020/06/07 Python
如何利用python进行时间序列分析
2020/08/04 Python
plt.figure()参数使用详解及运行演示
2021/01/08 Python
CSS3弹性盒模型开发笔记(三)
2016/04/26 HTML / CSS
美国在线打印网站:Overnight Prints
2018/10/11 全球购物
澳大利亚领先的折扣药房:Chemist Direct(有中文站)
2018/11/24 全球购物
12月红领巾广播稿
2014/02/13 职场文书
网吧七夕活动策划方案
2014/08/31 职场文书
2015年信息宣传工作总结
2015/05/26 职场文书
2015年学校团委工作总结
2015/05/26 职场文书
教师节祝酒词
2015/08/11 职场文书
《牧场之国》教学反思
2016/02/22 职场文书