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 相关文章推荐
在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
Jun 02 Javascript
JS window对象的top、parent、opener含义介绍
Dec 03 Javascript
jQuery插件实现静态HTML验证码校验
Nov 06 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
Mar 07 Javascript
文本框只能输入数字的js代码(含小数点)
Jul 10 Javascript
JavaScript中windows.open()、windows.close()方法详解
Jul 28 Javascript
bootstrap输入框组使用方法
Feb 07 Javascript
jQuery实现遍历复选框的方法示例
Mar 06 Javascript
JavaScript基础之this详解
Jun 04 Javascript
Jquery Datatables的使用详解
Jan 30 jQuery
vue 公共列表选择组件,引用Vant-UI的样式方式
Nov 02 Javascript
字节飞书面试promise.all实现示例
Jun 16 Javascript
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
【星际争霸1】人族1v7家ZBath
2020/03/04 星际争霸
PHP利用REFERER根居访问来地址进行页面跳转
2013/09/28 PHP
php获取淘宝分类id示例
2014/01/16 PHP
php 启动时报错的简单解决方法
2014/01/27 PHP
检测codeigniter脚本消耗内存情况的方法
2015/03/21 PHP
PHP中引用类型和值类型功能与用法示例
2019/02/26 PHP
jquery 弹出层实现代码
2009/10/30 Javascript
利用了jquery的ajax实现二级联互动菜单
2013/12/02 Javascript
EasyUi datagrid 实现表格分页
2015/02/10 Javascript
简介JavaScript中用于处理正切的Math.tan()方法
2015/06/15 Javascript
jquery ajax分页插件的简单实现
2016/01/27 Javascript
location.hash保存页面状态的技巧
2016/04/28 Javascript
微信小程序中使用javascript 回调函数
2017/05/11 Javascript
通过button将form表单的数据提交到action层的实例
2017/09/08 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
2017/10/31 Javascript
ztree实现左边动态生成树右边为内容详情功能
2017/11/03 Javascript
vue中v-model的应用及使用详解
2018/06/27 Javascript
小程序中this.setData的使用和注意事项
2019/08/28 Javascript
微信小程序实现滚动加载更多的代码
2019/12/06 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
解决antd 表单设置默认值initialValue后验证失效的问题
2020/11/02 Javascript
[01:26]DOTA2荣耀之路2:iG,China
2018/05/24 DOTA
python网络编程学习笔记(二):socket建立网络客户端
2014/06/09 Python
Django如何配置mysql数据库
2018/05/04 Python
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
MySQL面试题
2014/01/12 面试题
大专应届生个人简历的自我评价
2013/10/15 职场文书
财务会计专业推荐信
2013/11/30 职场文书
工作的心得体会
2013/12/31 职场文书
全民健身日活动方案
2014/01/29 职场文书
个人简历中自我评价
2014/02/11 职场文书
《画家乡》教学反思
2014/04/22 职场文书
设备售后服务承诺书
2014/05/30 职场文书
企业员工集体活动方案
2014/08/17 职场文书
2015年英语教研组工作总结
2015/05/23 职场文书
民事代理词范文
2015/05/25 职场文书