本文实例讲述了js实现从右向左缓缓浮出网页浮动层广告的方法。分享给大家供大家参考。具体实现方法如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>从右向左缓缓浮出的网页浮动层广告</title> <script language="javascript"> var $ = function (d){return document.getElementById(d)}; var CLS={ create: function() { return function() { this.$ADD = function (fn){CLS.add(this,fn)}; this.init.apply(this, arguments); } }, add:function (obj,fn){ fn.apply(obj,arguments); }, enterFrame:function (){ this.onEnterFrame=function (){}; this.$PLAY = function (g){ this.enterFrameP = this.enterFrameP || 10; this.CLStimeIndex = CLS.ontimes.length; CLS.ontimes.push(this); window.clearTimeout(this.enterFrameTimeout); window.clearInterval(this.enterFrameInterval); if(g)this.enterFrameTimeout = window.setTimeout('CLS.ontimes['+this.CLStimeIndex+'].enterFrameInterval=window.setInterval("CLS.ontimes['+this.CLStimeIndex+'].onEnterFrame()",'+this.enterFrameP+')',parseInt(g*1000)); else this.enterFrameInterval = window.setInterval("CLS.ontimes["+this.CLStimeIndex+"].onEnterFrame()",this.enterFrameP); } this.$STOP = function (){ window.clearInterval(this.enterFrameInterval); } this.$SET = function (p){ this.enterFrameP = p; } }, ontimes:new Array() }; CLS.Marquee = CLS.create(); CLS.Marquee.prototype = { init:function (button,box,speed){ this.box = $(box); this.tit = $(button) this.kong = $("kong"); this.onOpen = true; this.show = false; this.time = 0; this.speed = speed; this.kong.style.height = this.box.offsetHeight +"px"; this.Maxw = this.box.offsetWidth-this.tit.offsetWidth; this.box.style.right = -this.box.offsetWidth + "px"; this.boxTop = this.kong.offsetTop; var _t = this; this.tit.onclick = function (){ this.show = true; if(_t.onOpen){ _t.onEnterFrame = _t.close; _t.onOpen = false; }else{ _t.onEnterFrame = _t.open; _t.onOpen = true; } _t.$PLAY(); }; this.$ADD(CLS.enterFrame); this.onEnterFrame = this.open; this.$PLAY(); }, open:function(){ this.tit.innerHTML = "-"; var _r = parseInt(this.box.style.right); var _b = (0 - _r)/30; this.box.style.right = (_r + _b) +"px"; this.kong.style.top = (document.documentElement.scrollTop + this.boxTop) +"px"; if(_b==0 && !this.show){ this.time +=10; if(this.time>=this.speed*1000){ this.show = true; this.onOpen = false; this.$STOP(); this.onEnterFrame = this.close; this.$PLAY(); } } }, close:function (){ this.tit.innerHTML = "+"; var _r = parseInt(this.box.style.right); var _b = (-this.Maxw - _r)/5; this.box.style.right = Math.round(_r + _b) +"px"; this.kong.style.top = (document.documentElement.scrollTop + this.boxTop) +"px"; } }; window.onload = function (){ setTimeout(function(){new CLS.Marquee("tit","abc",10)},3000); //tit是点击按钮的Id ,abc是浮动块的ID,10是显示时长 }; </script> <style type="text/css"> <!-- #abc { border: 1px solid #003399; position: absolute; height: 150px; width: 220px; right: -100%; } #abc #tit { background-color: #0066FF; position: relative; height: 100%; width: 20px; color: #FFFFFF; text-align: center; float: left; } #kong { position: absolute; width: 100%; top: 100px; overflow: hidden; top: 100px; right: 0px; } .right { float: right; width: 190px; padding: 5px; } --> </style> </head> <body style="margin:0px;"> <!--浮动框外面套一层,防止出现横向滚动条--> <div id="kong"> <!--浮动框--> <div id="abc"> <div id="tit">-</div> <div class="right"> <a href="/">网页上从右边缓缓弹出的广告框效果</a></div> </div> </div> 右侧广告3秒后弹出 </body> </html>
希望本文所述对大家的javascript程序设计有所帮助。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年11月15日
2024年11月15日
- 谭咏麟《20世纪中华歌坛名人百集珍藏版》[WAV+CUE][1G]
- 炉石传说40轮盘术最新卡组代码在哪找 标准40轮盘术卡组代码分享
- 炉石传说亲王贼怎么玩 2024亲王贼最新卡组代码分享
- 炉石传说30.6.2补丁后有什么卡组 30.6.2最强卡组最新推荐
- 模拟之声慢刻CD《蔡琴名曲回顾遇听》[原抓WAV+CUE]
- BruceLiu-WAVES(MusicbySatie)(2024)2CD[24Bit-96kHz]FLAC
- KonstantinKrimmel-MythosSchubertLoewe(2024)[24Bit-96kHz]FLAC
- 2024雷蛇高校挑战赛 嘤式分解助力收官之战
- 海信发布110吋世俱杯官方定制AI电视 引领智能观赛
- 海信发布27英寸显示器大圣G5 Pro:采用自研超解析芯片、友达原厂模组
- 蔡琴《机遇》1:1母盘直刻日本头版[WAV分轨][1.1G]
- 陈百强《与你几分钟的约会》XRCD+SHMCD限量编号版[低速原抓WAV+CUE][994M]
- 陈洁丽《监听王NO.1 》示范级发烧天碟[WAV+分轨][1.1G]
- 单色凌.2014-小岁月太着急【海蝶】【WAV+CUE】
- 陈淑桦.1988-抱紧我HOLD.ME.NOW【EMI百代】【WAV+CUE】