利用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插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
Mar 23 jQuery
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
Apr 11 jQuery
jQuery用noConflict代替$的实现方法
Apr 12 jQuery
jquery.validate.js 多个相同name的处理方式
Jul 10 jQuery
JS文件中加载jquery.js的实例代码
May 05 jQuery
jQuery模拟12306城市选择框功能简单实现方法示例
Aug 13 jQuery
jQuery实现购物车的总价计算和总价传值功能
Nov 28 jQuery
jQuery简单实现根据日期计算星期几的方法
Jan 09 jQuery
jquery多级树形下拉菜单的实例代码
Jul 09 jQuery
jQuery实现checkbox全选、反选及删除等操作的方法详解
Aug 02 jQuery
jQuery实现每日秒杀商品倒计时功能
Sep 06 jQuery
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
Mar 20 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中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
PHP写的资源下载防盗链类分享
2014/05/12 PHP
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
2014/11/05 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
2015/12/25 PHP
PHPExcel在linux环境下导出报500错误的解决方法
2017/01/26 PHP
AutoSave/自动存储功能实现
2007/03/24 Javascript
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
2009/02/14 Javascript
Node.js实现Excel转JSON
2015/04/24 Javascript
推荐10 个很棒的 jQuery 特效代码
2015/10/04 Javascript
javascript常用函数(2)
2015/11/05 Javascript
如何利用Promises编写更优雅的JavaScript代码
2016/05/17 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
使用jquery DataTable和ajax向页面显示数据列表的方法
2018/08/09 jQuery
AngularJS修改model值时,显示内容不变的实例
2018/09/13 Javascript
微信小程序带动画弹窗组件使用方法详解
2018/11/27 Javascript
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
2019/09/16 Javascript
微信小程序如何加载数据库真实数据的实现
2020/03/04 Javascript
快速解决element的autofocus失效问题
2020/09/08 Javascript
详解Python中dict与set的使用
2015/08/10 Python
python爬虫实战之爬取京东商城实例教程
2017/04/24 Python
Python使用pymongo模块操作MongoDB的方法示例
2018/07/20 Python
pandas通过索引进行排序的示例
2018/11/16 Python
python连接PostgreSQL数据库的过程详解
2019/09/18 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
Selenium基于PIL实现拼接滚动截图
2020/04/10 Python
Opencv求取连通区域重心实例
2020/06/04 Python
如何把python项目部署到linux服务器
2020/08/26 Python
python 判断一组数据是否符合正态分布
2020/09/23 Python
Python fileinput模块如何逐行读取多个文件
2020/10/05 Python
Fossil美国官网:Fossil手表、手袋、珠宝及配件
2017/02/01 全球购物
毕业生文员求职信
2013/11/03 职场文书
《小松树和大松树》教学反思
2014/02/20 职场文书
行政管理毕业生自荐信
2014/02/24 职场文书
项目合作意向书
2015/05/08 职场文书
CSS3 实现NES游戏机的示例代码
2021/04/21 HTML / CSS
《群青的幻想曲》京力秋树角色PV公开
2022/04/08 日漫