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,如需转载请自行联系原作者
目录
相关文章
|
8月前
|
JavaScript 前端开发 开发者
JavaScript中的箭头函数:简洁的语法与this绑定
JavaScript中的箭头函数:简洁的语法与this绑定
519 184
|
11月前
|
资源调度 JavaScript 前端开发
Day.js极简轻易快速2kB的JavaScript库-替代Moment.js
dayjs是一个极简快速2kB的JavaScript库,可以为浏览器处理解析、验证、操作和显示日期和时间,它的设计目标是提供一个简单、快速且功能强大的日期处理工具,同时保持极小的体积(仅 2KB 左右)。
702 24
|
11月前
|
JSON 前端开发 Serverless
Mock.js 语法结构全解析
Mock.js 的语法规范介绍,从数据模板定义规范和数据占位符定义规范俩部分介绍, 让你更好的使用 Mock.js 来模拟数据并提高开发效率。
|
JavaScript 前端开发
JavaWeb JavaScript ③ JS的流程控制和函数
通过本文的详细介绍,您可以深入理解JavaScript的流程控制和函数的使用,进而编写出高效、可维护的代码。
293 32
|
JavaScript 前端开发 算法
JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
Array.sort() 是一个功能强大的方法,通过自定义的比较函数,可以处理各种复杂的排序逻辑。无论是简单的数字排序,还是多字段、嵌套对象、分组排序等高级应用,Array.sort() 都能胜任。同时,通过性能优化技巧(如映射排序)和结合其他数组方法(如 reduce),Array.sort() 可以用来实现高效的数据处理逻辑。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
数据采集 JavaScript 前端开发
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
用array.filter()来实现数据筛选、数据清洗和链式调用,相对于for循环更加清晰,语义化强,能显著提升代码的可读性和可维护性。博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
JavaScript 前端开发 Java
springboot解决js前端跨域问题,javascript跨域问题解决
本文介绍了如何在Spring Boot项目中编写Filter过滤器以处理跨域问题,并通过一个示例展示了使用JavaScript进行跨域请求的方法。首先,在Spring Boot应用中添加一个实现了`Filter`接口的类,设置响应头允许所有来源的跨域请求。接着,通过一个简单的HTML页面和jQuery发送AJAX请求到指定URL,验证跨域请求是否成功。文中还提供了请求成功的响应数据样例及请求效果截图。
323 3
springboot解决js前端跨域问题,javascript跨域问题解决
|
JavaScript 前端开发
【JavaScript】——JS基础入门常见操作(大量举例)
JS引入方式,JS基础语法,JS增删查改,JS函数,JS对象
|
JavaScript 前端开发
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?

热门文章

最新文章