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 相关文章推荐
JS中Iframe之间传值及子页面与父页面应用
Mar 11 Javascript
extjs render 用法介绍
Sep 11 Javascript
JavaScript函数详解
Nov 17 Javascript
使用node+vue.js实现SPA应用
Jan 28 Javascript
JS+CSS3模拟溢出滚动效果
Aug 12 Javascript
JavaScript实现实时更新系统时间的实例代码
Apr 04 Javascript
AngularJS 最常用的八种功能(基础知识)
Jun 26 Javascript
jquery实现左右轮播图效果
Sep 28 jQuery
vue实现微信分享功能
Nov 28 Javascript
微信小程序的线程架构【推荐】
May 14 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
Dec 06 Javascript
jQuery实现tab栏切换效果
Dec 22 jQuery
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线性表顺序存储实现代码(增删查改)
2012/02/16 PHP
php自定义函数实现JS的escape的方法示例
2016/07/07 PHP
javascript实现二分查找法实现代码
2007/11/12 Javascript
javascript基础第一章 JavaScript与用户端
2010/07/22 Javascript
jQuery结合PHP+MySQL实现二级联动下拉列表[实例]
2011/11/15 Javascript
基于jquery实现点击左右按钮图片横向滚动
2013/04/11 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
js中的setInterval和setTimeout使用实例
2014/05/09 Javascript
jQuery中live()方法用法实例
2015/01/19 Javascript
浅谈angularJS 作用域
2015/07/05 Javascript
基于JavaScript实现报警器提示音效果
2017/10/27 Javascript
浅谈如何通过node.js对数据进行MD5加密
2018/05/16 Javascript
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
Vue在页面数据渲染完成之后的调用方法
2018/09/11 Javascript
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
基于Vue CSR的微前端实现方案实践
2020/05/27 Javascript
[02:34]DOTA2亚洲邀请赛 BG战队出场宣传片
2015/03/09 DOTA
pyhanlp安装介绍和简单应用
2019/02/22 Python
python3通过selenium爬虫获取到dj商品的实例代码
2019/04/25 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
2020/02/17 Python
python 解决Fatal error in launcher:错误问题
2020/05/21 Python
keras 实现轻量级网络ShuffleNet教程
2020/06/19 Python
Crabtree & Evelyn英国官网:瑰珀翠护手霜、香水、沐浴和身体护理
2018/04/26 全球购物
店长岗位的工作内容
2013/11/12 职场文书
教师实习自我鉴定
2013/12/13 职场文书
医学专业毕业生个人求职信
2013/12/25 职场文书
“学雷锋活动月”总结
2014/03/09 职场文书
小学语文业务学习材料
2014/06/02 职场文书
村长反四风问题个人对照检查材料
2014/09/21 职场文书
工商局领导班子存在的问题整改措施思想汇报
2014/10/05 职场文书
幼儿园个人师德总结
2015/02/06 职场文书
业务员岗位职责范本
2015/04/03 职场文书
高中升旗仪式主持词
2015/07/03 职场文书
大学生暑期实践报告
2015/07/13 职场文书
2016年毕业实习心得体会范文
2015/10/09 职场文书
mysql事务隔离级别详情
2021/10/24 MySQL