利用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 相关文章推荐
js和jquery中获取非行间样式
May 05 jQuery
jQuery实现的弹幕效果完整实例
Sep 06 jQuery
360提示[高危]使用存在漏洞的JQuery版本的解决方法
Oct 27 jQuery
jQuery 禁止表单用户名、密码自动填充功能
Oct 30 jQuery
jQuery实现鼠标响应式淘宝动画效果示例
Feb 13 jQuery
jQuery滚动条美化插件nicescroll简单用法示例
Apr 18 jQuery
jQuery 导航自动跟随滚动的实现代码
May 30 jQuery
jQuery.parseJSON()函数详解
Feb 28 jQuery
jQuery实现动态添加和删除input框代码实例
Mar 29 jQuery
详解jQuery如何实现模糊搜索
May 10 jQuery
JQuery实现折叠式菜单的详细代码
Jun 03 jQuery
js和jquery判断数据类型的4种方法总结
Aug 28 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
PHP学习笔记(二):变量详解
2015/04/17 PHP
一些常用的JS功能函数(2009-06-04更新)
2009/06/04 Javascript
有趣的javascript数组定义方法
2010/09/10 Javascript
js网页中的(运行代码)功能实现思路
2013/02/04 Javascript
jquery 模板的应用示例
2013/11/12 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
js获取会话框prompt的返回值的方法
2015/01/10 Javascript
在JS方法中返回多个值的方法汇总
2015/05/20 Javascript
javascript下拉列表中显示树形菜单的实现方法
2015/11/17 Javascript
基于Bootstrap重置输入框内容按钮插件
2016/05/12 Javascript
JavaScript禁止复制与粘贴的实现代码
2016/05/16 Javascript
全面了解函数声明与函数表达式、变量提升
2016/08/09 Javascript
Javascript 使用ajax与C#获取文件大小实例详解
2017/01/13 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
Vue中保存用户登录状态实例代码
2017/06/07 Javascript
详解VueJS 数据驱动和依赖追踪分析
2017/07/26 Javascript
BootStrap TreeView使用实例详解
2017/11/01 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
解决vue项目中某一页面不想引用公共组件app.vue的问题
2020/08/14 Javascript
pip 错误unused-command-line-argument-hard-error-in-future解决办法
2014/06/01 Python
使用python编写脚本获取手机当前应用apk的信息
2014/07/21 Python
Django获取该数据的上一条和下一条方法
2019/08/12 Python
Python类中方法getitem和getattr详解
2019/08/30 Python
浅谈Python中os模块及shutil模块的常规操作
2020/04/03 Python
Pytho爬虫中Requests设置请求头Headers的方法
2020/09/22 Python
pycharm实现猜数游戏
2020/12/07 Python
使用css3绘制出各种几何图形
2016/08/17 HTML / CSS
css3图片边框border-image的用法
2017/06/30 HTML / CSS
移动Web—CSS为Retina屏幕替换更高质量的图片
2012/12/24 HTML / CSS
全球知名巧克力品牌:Godiva
2016/07/22 全球购物
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
大专应届生个人简历的自我评价
2013/10/15 职场文书
令人印象深刻的自荐信
2014/05/25 职场文书
经理任命书模板
2014/06/06 职场文书
公安机关纪律作风整顿个人剖析材料材料
2014/10/10 职场文书
2015年项目工作总结
2015/04/29 职场文书