随机漂浮广告在很多网站都有应用,在网页中随机运动,具有良好的展现效果。 是否有利于提高网站的人性化程度可能就另当别论,很多浏览者对此比较厌烦,有这样的需求,作为程序员的我们就要满足,下面就通过代码实例介绍一下如何实现此效果,代码实例如下:
一个小的div块会在网页中四处飘动,下面就详细介绍一下它的实现过程。 一.代码注释: (1).var interval=null,声明一个变量并赋值为null,后面会用作定时器函数的返回值。 (2).var ggRoll=null,声明一个变量,用来存储一个对象。 (3).window.onload=function(){},当文档内容完全加载完毕再去执行函数中的代码。 (4).ggRoll={},创建一个对象直接量。 (5).roll:document.getElementById("roll"),获取id属性值为roll的对象。 (6).speed:20,规定飘动速度,其实即使定时器函数每隔多长时间执行一次。 (7).statusX:1,规定每执行一次函数,left属性值变化的幅度。 (9).statusY:1,规定没执行一次函数,top舒心只变化的幅度。 (10).x:100,规定初始状态下left属性的值。 (11).y:300,规定初始状态top的属性的值。 (12).winW:document.documentElement.clientWidth-document.getElementById("roll").offsetWidth,差值用来测算left属性值的极限。 (13).winH:document.documentElement.clientHeight-document.getElementById("roll").offsetHeight,差值用来测算top属性值的极限。 (14).Go:function(){},声明一个函数,它完成了漂浮的核心。 (15).this.roll.style.left = this.x + 'px',设置div的left属性值。 (16).this.roll.style.top = this.y + 'px',设置div的top属性值。 (17).this.x = this.x + (this.statusX ? -1 : 1),如果statusX=1则每次增1px,否则减1px。 (18).if(this.x < 0) { this.statusX = 0 },如果left属性值小于0,那么将statusX 设置为0。 (18).if(this.x > this.winW) { this.statusX = 1 },如果left属性值大于winW,也就是div要超出右边界了,就将statusX值设置为1。 二.相关阅读: (1).clientWidth属性可以参阅clientWidth一章节。 (2).offsetWidth属性可以参阅offsetWidth用法一章节。 (3).setInterval()函数可以参阅setInterval()一章节。 (4).clearInterval()函数可以参阅clearInterval()方法一章节。 |
关于我们|手机版|小黑屋| ( 鲁ICP备10022556号-3 )
GMT+8, 2018-4-23 15:53 , Processed in 0.098160 second(s), 22 queries .