JavaScript 实现的滚动条,熟悉一下JS的基本语法一些细节建议查看手册:

简介:

JavaScript 实现的滚动条,熟悉一下JS的基本语法一些细节建议查看手册:
《Html - Css - Javascript - The Web Programmer's Desk Reference》(后续上传 )

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--
var taskId = window.setInterval("increase()", 1000/frequency); 方法用于按照指定的时间间隔
循环运行一个方法,第一个参数为要调用的方法,第二个参数为间隔时间(以毫秒为单位),
例如:setInterval("f()", 500) 将每隔500毫秒调用一次f()方法
setInterval方法的返回值为一个整数,clearInterval方法使用该整数取消这个循环过程,例如:
如果使用 var id = setInterval("f()", 500)创建一个循环运行的任务; 
则使用clearInterval(id)将取消该任务

bar.style.clip = "rect(0 " + right + " auto 0)";
样式属性clip用于指定该元素的所占区域
样式: "rect(top right bottom left)"表示指定了上下左右的一个矩形区域
-->
<HTML>
    <HEAD>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <style>
         <!--
        #bar, #barArea {
            position: absolute;
            left: 0;
            top: 0;
            background-color: blue;
        }
        
        #barBg {
            background-color: black;
        }
        -->
        </style>
        <script type="text/javascript">
           
             var frequency = 50; // 表示进度条每秒滚动的次数, 可以用于控制进度条滚动的平滑程度
             var duration = 5; // 表示进度条走完需要的总秒数, 可以用于控制进度条滚动的速度
            
            var right = 0; // 滚动条的右边界
            var width = 0;
   
            var taskId;

            function tstBar(){
                width = bar.style.pixelWidth;
                
                // 调度每秒运行一次increase()方法
                taskId = window.setInterval("increase()", 1000/frequency);
            }
            
            function increase(){
                bar.style.clip = "rect(0 " + right + " auto 0)";
                if (right < width) {
                      // 控制进度条的右边界不断增大, 体现滚动的效果
                      right = right + (width / (duration * frequency));
                } else {
                    // 滚动到达边界后(200px), 结束调度
                   window.clearInterval(taskId);
                   right = 0;
               }
            }

        </script>
    </HEAD>
    <BODY>
     <p>
     <input type="button" value="TestBar"/>
  </p>
        <div id="barArea" style="position:relative;width:200px;height:20px">
            <div id="barBg" style="width:200px;height:20px;z-index:9">
            </div>
            <div id="bar" style="width:200px;height:20px;z-index:10">
            </div>
        </div>
    </BODY>
</HTML>








本文转自 wws5201985 51CTO博客,原文链接:http://blog.51cto.com/wws5201985/814832,如需转载请自行联系原作者
目录
相关文章
|
20天前
|
机器学习/深度学习 人工智能 JavaScript
js和JavaScript
js和JavaScript
21 4
|
1月前
|
前端开发 JavaScript 区块链
连接区块链节点的 JavaScript 库 web3.js
连接区块链节点的 JavaScript 库 web3.js
27 2
|
19天前
|
JavaScript 前端开发
JavaScript生成的随机数随机字符串JS生成的随机数随机字符串
JavaScript生成的随机数随机字符串JS生成的随机数随机字符串
14 1
|
23天前
|
JavaScript 前端开发 Web App开发
JavaScript基础语法(codewhy版本)(一)
JavaScript基础语法(codewhy版本)
84 1
JavaScript基础语法(codewhy版本)(一)
|
28天前
|
JavaScript 前端开发
js开发:请解释什么是模块化(modularization),并说明如何在JavaScript中实现模块化。
模块化将复杂系统拆分为松散耦合的模块,提高代码可读性、可维护性、可复用性和可扩展性。JavaScript模块化历经CommonJS(Node.js中常见,使用`require()`和`module.exports`)、AMD(RequireJS,异步加载,`define()`和`require()`)和ES6 Modules(官方标准,`import`和`export`)三个阶段。打包工具如Webpack、Rollup处理兼容性问题,使模块化代码能在各种环境中运行。
|
29天前
|
JavaScript 前端开发
js开发:请解释this关键字在JavaScript中的用法。
JavaScript中的`this`关键字根据执行上下文指向不同对象:全局作用域中指向全局对象(如`window`),普通函数中默认指向全局对象,但作为对象方法时指向该对象。在构造函数中,`this`指向新实例。箭头函数不绑定`this`,而是继承上下文的`this`值。可通过`call`、`apply`、`bind`方法显式改变`this`指向。
10 2
|
1月前
|
JavaScript 前端开发 网络架构
JavaScript的数组教程(最详细,更新至es6新语法)
JavaScript的数组教程(最详细,更新至es6新语法)
|
1月前
|
移动开发 前端开发 JavaScript
Java 和 JavaScript 的奇妙协同:语法结构的对比与探索(下)
Java 和 JavaScript 的奇妙协同:语法结构的对比与探索(下)
|
1月前
|
JavaScript 前端开发 Java
Java 和 JavaScript 的奇妙协同:语法结构的对比与探索(中)
Java 和 JavaScript 的奇妙协同:语法结构的对比与探索(中)
|
1月前
|
JavaScript 前端开发 Java
Java 和 JavaScript 的奇妙协同:语法结构的对比与探索(上)
Java 和 JavaScript 的奇妙协同:语法结构的对比与探索(上)