利用jquery和BootStrap实现动态滚动条效果


Posted in jQuery onDecember 03, 2018

在某项目中遇到excel导入时客户要求显示滚动条效果,在此基础上使用js为其封装了个进度条类,只需要简单为其创建个div容器就可轻松实现效果,类具体如下:

<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width,initial-scale=1" />
    <title>Bootstrap 101 Template</title>
    
    <!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" rel="external nofollow" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    
    <script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
    
    <!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
  
  </head>
  <body>
    <!-- 进度条示例 -->
    <!-- <div class="progress">
      <div class="progress-bar" role="progressbar" aria-valuenow="0" 
      aria-valuemin="0" aria-valuemax="100">
        <span class="proText"></span>
      </div>
    </div> -->
    
    <div id="contain"></div>
    
    <button onclick="refreshPro()">refresh</button>
    <button onclick="finish()">finish</button>
    <button onclick="remove()">remove</button>
    
    <script>
      
      var progressBar = null;
      
      function refreshPro() {
        var con = $("#contain");
        progressBar = new ProgressBar();
        progressBar.setContainer(con);
        progressBar.showProcessBar();
      }
      
      function finish() {
        progressBar.finishProcessBar();
      }
      
      function remove() {
        progressBar.destroyProcessBar();
      }
     
    //如果在规定时间内都没有完成进度条,则停留在90%地方,一旦完成立刻到100%
    //写在ajax请求执行开始处进行创建,执行完成后执行完成进度条进度为100%
    //定义进度条类
    //提供构建/展示/销毁等工作
    //container为要包含进入条展示容器
      function ProgressBar($container) {
        
        var self = this;
        
        var container;
        
        if($container != null) {
          container = $container;
        }
        
        var interval; //创建的周期函数对象
        var _id = "progress_bar" + new Date().getTime(); //progressBar随机id编号
        
        self.setContainer = function(_container) {
          container = _container;
        }
        
        //为当前容器加入progress
        self.createProgressBar = function() {
          container.append('<div class="progress" id="'+ _id +'"><div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"><span class="proText"></span></div></div>');
        }
        
        self.beginProcessBar = function() {
          var i = 0;
          interval = setInterval(function() {
            i += 10;
            if(i <= 90) {
              $("#" + _id + " .progress-bar").css({"width":i + "%"});
              $("#" + _id + " .proText").text(i + '%');
            }
          }, 1000);
        }
        
        self.showProcessBar = function() {
          self.createProgressBar();
          self.beginProcessBar();
        }
        
        self.finishProcessBar = function() {
          if(interval != null) {
            $("#" + _id + " .progress-bar").css({"width": "100%"});
            $("#" + _id + " .proText").text('100%');
            clearInterval(interval);
          }  
        }
        
        self.destroyProcessBar = function() {
          $("#" + _id).remove();
        }
        
        return self;
      }
      
    </script>
  </body>
</html>

总结

以上所述是小编给大家介绍的利用jquery和BootStrap实现动态滚动条效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

jQuery 相关文章推荐
jQuery使用unlock.js插件实现滑动解锁
Apr 04 jQuery
jquery replace方法去空格
May 08 jQuery
使用 jQuery 实现表单验证功能
Jul 05 jQuery
JavaScript自执行函数和jQuery扩展方法详解
Oct 27 jQuery
jQuery Datatables表头不对齐的解决办法
Nov 27 jQuery
jQuery实现手机号正则验证输入及自动填充空格功能
Jan 02 jQuery
jQuery代码优化方法总结
Jan 29 jQuery
使用jQuery给Table动态增加行、清空table的方法
Sep 05 jQuery
Jquery获取radio选中值实例总结
Jan 17 jQuery
jQuery表单元素过滤选择器用法实例分析
Feb 20 jQuery
jQuery AJAX应用实例总结
May 19 jQuery
如何解决jQuery 和其他JS库的冲突
Jun 22 jQuery
jQuery-ui插件sortable实现自由拖动排序
Dec 01 #jQuery
jquery拖拽自动排序插件使用方法详解
Jul 20 #jQuery
jQuery实现网页拼图游戏
Apr 22 #jQuery
基于jquery实现九宫格拼图小游戏
Nov 30 #jQuery
jQuery实现购物车的总价计算和总价传值功能
Nov 28 #jQuery
jQuery点击页面其他部分隐藏下拉菜单功能
Nov 27 #jQuery
jQuery实现上下滚动公告栏详细代码
Nov 21 #jQuery
You might like
简单示例AJAX结合PHP代码实现登录效果代码
2008/07/25 PHP
微盾PHP脚本加密专家php解密算法
2020/09/13 PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
2017/02/04 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
php在linux环境中如何使用redis详解
2020/12/15 PHP
PHP获取php,mysql,apche的版本信息及更多服务器信息
2021/03/09 PHP
JavaScript中的无阻塞加载性能优化方案
2014/10/10 Javascript
Node.js实现JS文件合并小工具
2016/02/02 Javascript
设置点击文本框或图片弹出日历控件的实现代码
2016/05/12 Javascript
jQueryUI中的datepicker使用方法详解
2016/05/25 Javascript
node.js实现快速截图
2016/08/27 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
2016/11/03 Javascript
JavaScript实现的原生态Tab标签页功能【兼容IE6】
2017/09/18 Javascript
jquery实现侧边栏左右伸缩效果的示例
2017/12/19 jQuery
js使用formData实现批量上传
2020/03/27 Javascript
利用不到200行代码写一款属于你自己的js类库
2019/07/08 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
2019/09/06 Javascript
用python找出那些被“标记”的照片
2017/04/20 Python
Python HTTP客户端自定义Cookie实现实例
2017/04/28 Python
python中reader的next用法
2018/07/24 Python
Numpy 改变数组维度的几种方法小结
2018/08/02 Python
python手机号前7位归属地爬虫代码实例
2020/03/31 Python
python实现图片转字符画的完整代码
2021/02/21 Python
HTML5 window/iframe跨域传递消息 API介绍
2013/08/26 HTML / CSS
基于zepto的插件之移动端无缝向上滚动并上下触摸滑动实例代码
2016/12/20 HTML / CSS
企业公益活动策划方案
2014/08/24 职场文书
幼儿园教师岗位职责
2015/04/02 职场文书
银行客户经理岗位职责
2015/04/09 职场文书
倡议书范文大全
2015/04/28 职场文书
公司年会开场白
2015/06/01 职场文书
入党积极分子党支部意见
2015/06/02 职场文书
国情备忘录观后感
2015/06/04 职场文书
青年干部培训班学习心得体会
2016/01/06 职场文书
Vue实现下拉加载更多
2021/05/09 Vue.js
MySQL的安装与配置详细教程
2021/06/26 MySQL
JavaScript原型链详解
2021/11/07 Javascript