js实现百度联盟中一款不错的图片切换效果完整实例


Posted in Javascript onMarch 04, 2015

本文实例讲述了js实现百度联盟中一款不错的图片切换效果的方法。分享给大家供大家参考。具体实现方法如下:

<html>

<title>js实现百度联盟中的一个不错的图片切换效果</title>

<body>

<script>

var links = new Array();

links[1] = "http://www.baidu.com/";

links[2] = "https://3water.com/";

links[3] = "http://www.sohu.com/";

links[4] = "http://sc.3water.com/";

var imgs = new Array();

for(var n = 1; n <= 5; n++) imgs[n] = new Image();

imgs[1].src = "images/m01.jpg";

imgs[2].src = "images/m02.jpg";

imgs[3].src = "images/m03.jpg";

imgs[4].src = "images/m04.jpg";

var tits = new Array();

tits[1] ="百度搜索";

tits[2] = "三水点靠木";

tits[3] = "搜狐主页";

tits[4] = "素材之家";

var imgwidth = 550;//图片宽度

var imgheight = 134;//图片宽度

var str = "<style type='text/css'>";

str += "#imgnv{display:none;position:absolute;bottom:-1px;right:0;height:16px;}#imgnv div{float:left;margin-right:1px;}";

str += "#imgnv div.on,#imgnv div.off{margin-bottom:1px;width:30px;height:15px;line-height:18px!important;line-height:15px;font-size:9px;text-align:center;cursor:pointer;cursor:hand}";

str += "#imgnv div.on{background:#CE0609;color:#FFF;font-weight:bold}";

str += "#imgnv div.off{background:#323232;color:#FFF;text-decoration:none}";

str += "#titnv{margin-top:3px;color:#000;text-align:center;display:none;}";

str += "</style>";

str += "<div style='position:relative'>";

str += "<div><a id='dlink' href='" + links[1] + "' target='_blank'><img id='dimg' src='" + imgs[1].src + "' border='0' width='" + imgwidth + "' height='"+imgheight+"' style='filter:Alpha(opacity=100)' onmouseover='Pause(true)' onmouseout='Pause(false)'></a></div>";

//修改点1:循环添加内层div内容以增加个数

str += "<div id='imgnv'><div id='it1' class='on' onmouseover='ImgSwitch(1, true)' onmouseout='Pause(false)'>1</div><div id='it2' class='off' onmouseover='ImgSwitch(2, true)' onmouseout='Pause(false)'>2</div><div id='it3' class='on' onmouseover='ImgSwitch(3, true)' onmouseout='Pause(false)'>3</div><div id='it4' class='off' onmouseover='ImgSwitch(4, true)' onmouseout='Pause(false)'>4</div></div>";

str += "<div id='titnv'><b>" + tits[1] + "</b></div>";

str += "</div>";

document.write(str);

var oi = document.getElementById("dimg");

var pause = false;

var curid = 1;

var lastid = 1;

var sw = 1;

var opacity = 100;

var speed = 15;

var delay = (document.all)? 400:700;

function SetAlpha(){

if(document.all){

if(oi.filters && oi.filters.Alpha) oi.filters.Alpha.opacity = opacity;

}else{

oi.style.MozOpacity = ((opacity >= 100)? 99:opacity) / 100;

}

}

function ImgSwitch(id, p){

if(p){

pause = true;

opacity = 100;

SetAlpha();

}

oi.src = imgs[id].src;

document.getElementById("dlink").href = links[id];

document.getElementById("it" + lastid).className = "off";

document.getElementById("it" + id).className = "on";

document.getElementById("titnv").innerHTML = "<b>" + tits[id] + "</b>";

curid = lastid = id;

}

function ScrollImg(){

if(pause && opacity >= 100) return;

if(sw == 0){

opacity += 2;

if(opacity > delay){ opacity = 100; sw = 1; }

}

if(sw == 1){

opacity -= 3;

if(opacity < 10){ opacity = 10; sw = 3; }

}

SetAlpha();

if(sw != 3) return;

sw = 0;

curid++;

//修改点2:这里的4也是个数

if(curid > 4) curid = 1;

ImgSwitch(curid, false);

}

function Pause(s){

pause = s;

}

function StartScroll(){

setInterval(ScrollImg, speed);

}

function CheckLoad(){

if (imgs[1].complete == true && imgs[2].complete == true) {

clearInterval(checkid);

setTimeout(StartScroll, 2000);

}

}

var checkid = setInterval(CheckLoad, 10);

</script>

</body>

</html>

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

Javascript 相关文章推荐
关于flash遮盖div浮动层的解决方法
Jul 17 Javascript
jQuery源码分析-02正则表达式 RegExp 常用正则表达式
Nov 14 Javascript
返回上一页并自动刷新的JavaScript代码
Feb 19 Javascript
在JavaScript中使用对数Math.log()方法的教程
Jun 15 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
Dec 21 Javascript
IScroll那些事_当内容不足时下拉刷新的解决方法
Jul 18 Javascript
移动端Ionic App 资讯上下循环滚动的实现代码(跑马灯效果)
Aug 29 Javascript
vue 项目如何引入微信sdk接口的方法
Dec 18 Javascript
Vue 全家桶实现移动端酷狗音乐功能
Nov 16 Javascript
关于微信公众号开发无法支付的问题解决
Dec 28 Javascript
Vue安装浏览器开发工具的步骤详解
May 12 Javascript
jQuery - AJAX load() 实例用法详解
Aug 27 jQuery
jQuery中大家不太了解的几个方法
Mar 04 #Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
Mar 04 #Javascript
js计算德州扑克牌面值的方法
Mar 04 #Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
Mar 04 #Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
Mar 04 #Javascript
深入理解JavaScript系列(45):代码复用模式(避免篇)详解
Mar 04 #Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
Mar 04 #Javascript
You might like
PHP.MVC的模板标签系统(三)
2006/09/05 PHP
利用文件属性结合Session实现在线人数统计
2006/10/09 PHP
PHP的开合式多级菜单程序
2006/10/09 PHP
php 调试利器debug_print_backtrace()
2012/07/23 PHP
php遍历所有文件及文件夹的方法深入解析
2013/06/08 PHP
PHP中的随机性 你觉得自己幸运吗?
2016/01/22 PHP
php求数组全排列,元素所有组合的方法
2016/05/05 PHP
优秀js开源框架-jQuery使用手册(1)
2007/03/10 Javascript
Jquery Validation插件防止重复提交表单的解决方法
2010/03/05 Javascript
JavaScript Distilled 基础知识与函数
2010/04/07 Javascript
jQuery 常见操作实现方式和常用函数方法总结
2011/05/06 Javascript
解析JSON对象与字符串之间的相互转换
2013/12/18 Javascript
jQuery学习笔记之 Ajax操作篇(二) - 数据传递
2014/06/23 Javascript
javascript定时器取消定时器及优化方法
2017/07/08 Javascript
vue.js中引入vuex储存接口数据及调用的详细流程
2017/12/14 Javascript
JS改变页面颜色源码分享
2018/02/24 Javascript
图文详解vue框架安装步骤
2019/02/12 Javascript
javascript实现京东登录显示隐藏密码
2020/08/02 Javascript
python关闭占用端口方式
2019/12/17 Python
html5时钟实现代码
2010/10/22 HTML / CSS
澳大利亚小众服装品牌:Maurie & Eve
2018/03/27 全球购物
乌克兰电子产品和家用电器购物网站:TOUCH
2019/08/09 全球购物
Herschel美国官网:背包、手提袋及配件
2020/03/10 全球购物
园林施工员岗位职责
2013/12/11 职场文书
财会自我鉴定范文
2013/12/27 职场文书
文明家庭先进事迹材
2014/01/27 职场文书
大专会计自我鉴定
2014/02/06 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
医院护士见习期自我鉴定
2014/09/15 职场文书
《我爱祖国》演讲稿1000字
2014/09/26 职场文书
钳工实训报告总结
2014/11/04 职场文书
2014年远程教育工作总结
2014/12/09 职场文书
2015年世界水日活动总结
2015/02/09 职场文书
2015年上半年物业工作总结
2015/03/30 职场文书
行政处罚告知书
2015/07/01 职场文书
Python实现学生管理系统(面向对象版)
2021/06/24 Python