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代码压缩器
Oct 12 Javascript
img onload事件绑定各浏览器均可执行
Dec 19 Javascript
jquery 操作css样式、位置、尺寸方法汇总
Nov 28 Javascript
JavaScript File API文件上传预览
Feb 02 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
Mar 06 Javascript
vue2的todolist入门小项目的详细解析
May 11 Javascript
vue 运用mock数据的示例代码
Nov 07 Javascript
4个顶级JavaScript高级文本编辑器
Oct 10 Javascript
jQuery使用bind动态绑定事件无效的处理方法
Dec 11 jQuery
JavaScript键盘事件常见用法实例分析
Jan 03 Javascript
为nuxt项目写一个面包屑cli工具实现自动生成页面与面包屑配置
Sep 29 Javascript
jQuery实现广告显示和隐藏动画
Jul 04 jQuery
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
开发大型 PHP 项目的方法
2007/01/02 PHP
深入php socket的讲解与实例分析
2013/06/13 PHP
php数组编码转换示例详解
2014/03/11 PHP
Win7下手动安装apache2.2、php5.4笔记
2015/04/03 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
2018/03/31 PHP
PHP+Ajax简单get验证操作示例
2019/03/02 PHP
js查找某元素中的所有图片地址的方法
2014/01/16 Javascript
DOM基础教程之模型中的模型节点
2015/01/19 Javascript
javascript递归回溯法解八皇后问题
2015/04/22 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
2015/08/05 Javascript
关于JSON与JSONP简单总结
2016/08/16 Javascript
基于jQuery实现的幻灯图片切换
2016/12/02 Javascript
Bootstrap基本组件学习笔记之导航(10)
2016/12/07 Javascript
Bootstrap modal使用及点击外部不消失的解决方法
2016/12/13 Javascript
JavaScript实现三级联动菜单实例代码
2017/06/26 Javascript
解决vue多个路由共用一个页面的问题
2018/03/12 Javascript
解决vue同一slot在组件中渲染多次的问题
2018/09/06 Javascript
Jquery滑动门/tab切换实现方法完整示例
2020/06/05 jQuery
vue实现点击按钮切换背景颜色的示例代码
2020/06/23 Javascript
vue实现登录拦截
2020/06/29 Javascript
[04:40]DOTA2-DPC中国联赛1月26日Recap集锦
2021/03/11 DOTA
python访问系统环境变量的方法
2015/04/29 Python
Python实现以时间换空间的缓存替换算法
2016/02/19 Python
Python 12306抢火车票脚本 Python京东抢手机脚本
2018/02/06 Python
python3.6+django2.0开发一套学员管理系统
2018/03/03 Python
使用python 写一个静态服务(实战)
2019/06/28 Python
TensorBoard 计算图的查看方式
2020/02/15 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
2020/02/20 Python
python3通过qq邮箱发送邮件以及附件
2020/05/20 Python
python爬虫爬取某网站视频的示例代码
2021/02/20 Python
css3学习系列之移动属性详解
2017/07/04 HTML / CSS
html5 video标签屏蔽右键视频另存为的js代码
2013/11/12 HTML / CSS
浅谈关于html5中图片抛物线运动的一些心得
2018/01/09 HTML / CSS
体育专业学生自我评价范文
2014/01/17 职场文书
企业职业病防治方案
2014/05/29 职场文书
vue+element ui实现锚点定位
2021/06/29 Vue.js