js实现从右向左缓缓浮出网页浮动层广告的方法


Posted in Javascript onMay 09, 2015

本文实例讲述了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程序设计有所帮助。

Javascript 相关文章推荐
YUI的Tab切换实现代码
Apr 11 Javascript
使用JS读秒使用示例
Sep 21 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
Dec 27 Javascript
jQuery实现跟随鼠标运动图层效果的方法
Feb 02 Javascript
JavaScript中的boolean布尔值使用学习及相关技巧讲解
May 26 Javascript
JS获取html元素的标记名实现方法
Oct 08 Javascript
js实现倒计时关键代码
May 05 Javascript
Node.js中使用mongoose操作mongodb数据库的方法
Sep 12 Javascript
vue路由跳转时判断用户是否登录功能的实现
Oct 26 Javascript
Vue 路由间跳转和新开窗口的方式(query、params)
Dec 25 Javascript
webpack3.0升级4.0的方法步骤
Apr 02 Javascript
用vite搭建vue3应用的实现方法
Feb 22 Vue.js
JS动画效果打开、关闭层的实现方法
May 09 #Javascript
js实现顶部可折叠的菜单工具栏效果实例
May 09 #Javascript
JS实现带缓冲效果打开、关闭、移动一个层的方法
May 09 #Javascript
javascript实现淡蓝色的鼠标拖动选择框实例
May 09 #Javascript
javasript实现密码的隐藏与显示
May 08 #Javascript
jquery实现动态改变div宽度和高度
May 08 #Javascript
jquery右下角自动弹出可关闭的广告层
May 08 #Javascript
You might like
php+mysql写的简单留言本实例代码
2008/07/25 PHP
thinkphp模板的包含与渲染实例分析
2014/11/26 PHP
PHP生成条形图的方法
2014/12/10 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
值得分享的php+ajax实时聊天室
2016/07/20 PHP
可以将word转成html的js代码
2010/04/11 Javascript
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
2012/08/14 Javascript
javascript中this做事件参数相关问题解答
2013/03/17 Javascript
js冒泡法和数组转换成字符串示例代码
2013/08/14 Javascript
Backbone.js中的集合详解
2015/01/14 Javascript
原生js实现移动开发轮播图、相册滑动特效
2015/04/17 Javascript
详解Angular.js的$q.defer()服务异步处理
2016/11/06 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
2017/02/16 Javascript
利用jsonp与代理服务器方案解决跨域问题
2017/09/14 Javascript
完美解决iview 的select下拉框选项错位的问题
2018/03/02 Javascript
vue获取当前激活路由的方法
2018/03/17 Javascript
NodeJs 模仿SIP话机注册的方法
2019/06/21 NodeJs
使用 Element UI Table 的 slot-scope方法
2019/10/10 Javascript
python实现在无须过多援引的情况下创建字典的方法
2014/09/25 Python
Python实现的多线程端口扫描工具分享
2015/01/21 Python
python绘图方法实例入门
2015/05/19 Python
在Python的列表中利用remove()方法删除元素的教程
2015/05/21 Python
Python fileinput模块使用实例
2015/05/28 Python
python简单图片操作:打开\显示\保存图像方法介绍
2017/11/23 Python
PyQt5打开文件对话框QFileDialog实例代码
2018/02/07 Python
python画图系列之个性化显示x轴区段文字的实例
2018/12/13 Python
python实现二级登陆菜单及安装过程
2019/06/21 Python
PYQT5实现控制台显示功能的方法
2019/06/25 Python
Django实现微信小程序的登录验证功能并维护登录态
2019/07/04 Python
简单了解Python3 bytes和str类型的区别和联系
2019/12/19 Python
Python实现病毒仿真器的方法示例(附demo)
2020/02/19 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
2020/09/21 Python
html5菜单折纸效果
2014/04/22 HTML / CSS
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
领导班子三严三实心得体会
2014/10/13 职场文书
2016年全国爱牙日宣传活动总结
2016/04/05 职场文书