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 相关文章推荐
Extjs学习笔记之一 初识Extjs之MessageBox
Jan 07 Javascript
jquery 查找新建元素代码
Jul 06 Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
Jul 15 Javascript
div失去焦点事件实现思路
Apr 22 Javascript
JS实现仿Windows经典风格的选项卡Tab切换代码
Oct 20 Javascript
使用jquery动态加载Js文件和Css文件
Oct 24 Javascript
关注jquery技巧提高jquery技能(前端开发必学)
Nov 02 Javascript
浅谈js的html元素的父节点,子节点
Aug 06 Javascript
原生js仿jquery实现对Ajax的封装
Oct 04 Javascript
Vue 过渡(动画)transition组件案例详解
Jan 22 Javascript
vue+springmvc导出excel数据的实现代码
Jun 27 Javascript
JS实现简易留言板特效
Dec 23 Javascript
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
我的论坛源代码(十)
2006/10/09 PHP
php 图片加水印与上传图片加水印php类
2010/05/12 PHP
destoon二次开发入门示例
2014/06/20 PHP
PHP中shuffle数组值随便排序函数用法
2014/11/21 PHP
php中实现获取随机数组列表的自定义函数
2015/04/02 PHP
我整理的PHP 7.0主要新特性
2016/01/07 PHP
laravel中的错误与日志用法详解
2016/07/26 PHP
ThinkPHP 模板substr的截取字符串函数详解
2017/01/09 PHP
PHP中file_put_contents追加和换行的实现方法
2017/04/01 PHP
js控制页面控件隐藏显示的两种方法介绍
2013/10/09 Javascript
JavaScript中instanceof与typeof运算符的用法及区别详细解析
2013/11/19 Javascript
Javascript中实现trim()函数的两种方法
2015/02/04 Javascript
JS实现动态给图片添加边框的方法
2015/04/01 Javascript
JavaScript返回网页中超链接数量的方法
2015/04/03 Javascript
javascript实现验证IP地址等相关信息代码
2015/05/10 Javascript
AngularJS 中的Promise --- $q服务详解
2016/09/14 Javascript
JavaScript中关于iframe滚动条的去除和保留
2016/11/17 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
2017/06/09 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
使用vuex解决刷新页面state数据消失的问题记录
2019/05/08 Javascript
layui table 获取分页 limit的方法
2019/09/20 Javascript
vue resource发送请求的几种方式
2019/09/30 Javascript
JS实现旋转木马轮播图
2020/01/01 Javascript
javascript中innerHTML 获取或替换html内容的实现代码
2020/03/17 Javascript
玩转python爬虫之cookie使用方法
2016/02/17 Python
详解Python自建logging模块
2018/01/29 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
python TKinter获取文本框内容的方法
2018/10/11 Python
Python经典五人分鱼实例讲解
2021/01/04 Python
营销部内勤岗位职责
2014/04/30 职场文书
数据保密承诺书
2014/06/03 职场文书
大跃进口号
2014/06/16 职场文书
女性励志书籍推荐
2019/08/19 职场文书
CSS 圆形进度栏
2021/04/06 HTML / CSS
MySQL中一条update语句是如何执行的
2022/03/16 MySQL