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,如需转载请自行联系原作者
目录
相关文章
|
19天前
|
JSON JavaScript 前端开发
使用JavaScript和Node.js构建简单的RESTful API
使用JavaScript和Node.js构建简单的RESTful API
|
2月前
|
JavaScript 前端开发
JavaScript 函数语法
JavaScript 函数是使用 `function` 关键词定义的代码块,可在调用时执行特定任务。函数可以无参或带参,参数用于传递值并在函数内部使用。函数调用可在事件触发时进行,如用户点击按钮。JavaScript 对大小写敏感,函数名和关键词必须严格匹配。示例中展示了如何通过不同参数调用函数以生成不同的输出。
|
2月前
|
人工智能 JavaScript 前端开发
使用Node.js模拟执行JavaScript
使用Node.js模拟执行JavaScript
26 2
|
2月前
|
消息中间件 JavaScript 前端开发
用于全栈数据流的 JavaScript、Node.js 和 Apache Kafka
用于全栈数据流的 JavaScript、Node.js 和 Apache Kafka
47 1
|
2月前
|
移动开发 JavaScript 前端开发
【JavaScript】JS执行机制--同步与异步
【JavaScript】JS执行机制--同步与异步
23 1
|
2月前
|
JavaScript 前端开发
电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
122 1
|
2月前
|
JavaScript 前端开发 大数据
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
31 0
|
2月前
|
Web App开发 JavaScript 前端开发
Node.js:JavaScript世界的全能工具
Node.js:JavaScript世界的全能工具
|
2月前
|
JSON JavaScript 前端开发
使用JavaScript和Node.js构建简单的RESTful API服务器
【10月更文挑战第12天】使用JavaScript和Node.js构建简单的RESTful API服务器
22 0
|
2月前
|
数据采集 JavaScript 前端开发
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)