JS实现先显示大图后自动收起显示小图的广告代码


Posted in Javascript onSeptember 04, 2015

本文实例讲述了JS实现先显示大图后自动收起显示小图的广告代码。分享给大家供大家参考。具体如下:

这是一个非常不错的JavaScript图片特效,当最初打开网页的时候,显示的是大图片,就像遮屏广告一样,停留一会后,自动缓慢收起,这时由JS控制更换广告图片,始终显示在网页顶部,在一些大门户网站我们经常见到这种效果,个人感觉挺酷哦!

先来看看运行效果截图:

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>
<title>先显示大图随后自动收起显示小图的JS广告</title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<style type="text/css">
html,body{margin:0;text-align:center;font-size:12px;}
img{border:none}
p{margin:0px}
</style>
<script type="text/javascript">
var showAD = {
curve: function(t, b, c, d, s) {
if ((t /= d / 2) < 1) return c / 2 * t * t * t + b;
return c / 2 * ((t -= 2) * t * t + 2) + b
},
fx: function(from, to, playTime, onEnd) {
var Me = this,
who = this.adWrap,
position = 0,
changeVal = to - from,
curve = this.curve;
playTime = playTime / 10;
who.style.overflow = 'hidden';
function _run() {
if (position++<playTime) {
who.style.height = Math.max(1, Math.abs(Math.ceil(curve(position, from, changeVal, playTime)))) + "px";
setTimeout(_run, 10)
} else {
onEnd && onEnd.call(Me, to)
}
};
_run()
},
init: function(info) {
var Me = this,
loadImg = new Image;
loadImg.src = info.endImgURL;
window.onload=function() {
Me.endImgURL = info.endImgURL;
Me.img = document.getElementById(info.imgID);
Me.adWrap = document.getElementById(info.adWrapID);
var max = Me.img.height;
setTimeout(function() {
Me.fx(max, 0, 500,
function(x) {
this.img.src = this.endImgURL;
this.curve = function(t, b, c, d) {
if ((t /= d) < (1 / 2.75)) {
return c * (7.5625 * t * t) + b
} else if (t < (2 / 2.75)) {
return c * (7.5625 * (t -= (1.5 / 2.75)) * t + .75) + b
} else if (t < (2.5 / 2.75)) {
return c * (7.5625 * (t -= (2.25 / 2.75)) * t + .9375) + b
} else {
return c * (7.5625 * (t -= (2.625 / 2.75)) * t + .984375) + b
}
};
this.fx(0, this.img.height,600)
})
},
info.timeout || 1000)
};
}
};
showAD.init({
adWrapID: 'ad_box_2009_06',
imgID: 'adImg',
endImgURL: 'images/as.jpg'
});
</script>
</head>
<body>
<div id="ad_box_2009_06"><img src="images/ab.jpg" id="adImg"></div>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
异步加载JS、CSS代码(推荐)
Jun 15 Javascript
JS新包管理工具yarn和npm的对比与使用入门
Dec 09 Javascript
jQuery图片瀑布流的简单实现代码
Mar 15 Javascript
javascript 中null和undefined区分和比较
Apr 19 Javascript
Vue.js中的图片引用路径的方式
Jul 28 Javascript
vue.js系列中的vue-fontawesome使用
Feb 10 Javascript
原生JS实现列表子元素顺序反转的方法分析
Jul 02 Javascript
如何获取vue单文件自身源码路径
May 06 Javascript
解决vue的过渡动画无法正常实现问题
Oct 31 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
Aug 20 Javascript
Vant picker 多级联动操作
Nov 02 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
Nov 16 Javascript
JavaScript实现的多个图片广告交替显示效果代码
Sep 04 #Javascript
基于JS实现简单的样式切换效果代码
Sep 04 #Javascript
JS实现横向拉伸动感伸缩菜单效果代码
Sep 04 #Javascript
js实现简洁的滑动门菜单(选项卡)效果代码
Sep 04 #Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
Sep 04 #Javascript
jQuery实现带有上下控制按钮的简单多行滚屏效果代码
Sep 04 #Javascript
JS右下角广告窗口代码(可收缩、展开及关闭)
Sep 04 #Javascript
You might like
PHP 删除一个目录及目录下的所有文件的函数代码
2010/05/26 PHP
PHPwind整合最土系统用户同步登录实现方法
2010/12/08 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
2014/07/28 PHP
php实现session自定义会话处理器的方法
2015/01/27 PHP
PHP实现的激活用户注册验证邮箱功能示例
2017/06/06 PHP
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
Jquery AJAX POST与GET之间的区别
2013/11/14 Javascript
JS实现浏览器状态栏显示时间的方法
2015/10/27 Javascript
JavaScript数组操作详解
2017/02/04 Javascript
js实现tab切换效果
2017/02/16 Javascript
jQuery插件zTree实现单独选中根节点中第一个节点示例
2017/03/08 Javascript
完美实现js选项卡切换效果(二)
2017/03/08 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
vue+webpack中配置ESLint
2018/11/07 Javascript
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
Python基于Tkinter的HelloWorld入门实例
2015/06/17 Python
Python实现脚本锁功能(同时只能执行一个脚本)
2017/05/10 Python
python如何把嵌套列表转变成普通列表
2018/03/20 Python
windows环境下tensorflow安装过程详解
2018/03/30 Python
python cs架构实现简单文件传输
2020/03/20 Python
Python中函数参数调用方式分析
2018/08/09 Python
Selenium元素的常用操作方法分析
2018/08/10 Python
Selenium的使用详解
2018/10/19 Python
Python HTML解析模块HTMLParser用法分析【爬虫工具】
2019/04/05 Python
tensorflow2.0教程之Keras快速入门
2021/02/20 Python
New Era英国官网:美国棒球帽品牌
2018/03/21 全球购物
C#面试问题
2016/07/29 面试题
会计学专业学生的求职信范文
2014/01/27 职场文书
你的创业计划书怎样才能打动风投
2014/02/06 职场文书
法人授权委托书样本
2014/09/19 职场文书
工人先锋号申报材料
2014/12/29 职场文书
上帝也疯狂观后感
2015/06/09 职场文书
详解Redis实现限流的三种方式
2021/04/27 Redis
Python3.10的一些新特性原理分析
2021/09/15 Python
深入理解go slice结构
2021/09/15 Golang