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 相关文章推荐
javascript下IE与FF兼容函数收集
Sep 17 Javascript
js 表单验证方法(实用)
Apr 28 Javascript
JSQL SQLProxy 的 php 版本代码
May 05 Javascript
一个js导致的jquery失效问题的解决方法
Nov 27 Javascript
jquery五角星评分插件示例分享
Feb 21 Javascript
node.js中watch机制详解
Nov 17 Javascript
分享五个有用的jquery小技巧
Oct 08 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
Dec 21 Javascript
如何提高Dom访问速度
Jan 05 Javascript
详解ES6 Promise对象then方法链式调用
Oct 20 Javascript
详解可以用在VS Code中的正则表达式小技巧
May 14 Javascript
vue实现日历备忘录功能
Sep 24 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
PHP未登录自动跳转到登录页面
2016/12/21 PHP
smarty模板的使用方法实例分析
2019/09/18 PHP
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
js禁止页面刷新禁止用F5键刷新禁止右键的示例代码
2013/09/23 Javascript
JavaScript调用后台的三种方法实例
2013/10/17 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
搭建Bootstrap离线文档的方法
2016/12/02 Javascript
Bootstrap CSS布局之表格
2016/12/17 Javascript
echarts3 使用总结(绘制各种图表,地图)
2017/01/05 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
使用 Vue.js 仿百度搜索框的实例代码
2017/05/09 Javascript
Windows下Node.js安装及环境配置方法
2017/09/18 Javascript
JavaScript判断浏览器运行环境的详细方法
2019/06/30 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
nestjs返回给前端数据格式的封装实现
2021/02/22 Javascript
python按照多个字符对字符串进行分割的方法
2015/03/17 Python
简单的Python2.7编程初学经验总结
2015/04/01 Python
Python实现拷贝多个文件到同一目录的方法
2016/09/19 Python
Python学习教程之常用的内置函数大全
2017/07/14 Python
python使用itchat库实现微信机器人(好友聊天、群聊天)
2018/01/04 Python
浅谈Python中重载isinstance继承关系的问题
2018/05/04 Python
对python3 Serial 串口助手的接收读取数据方法详解
2019/06/12 Python
浅谈pytorch中的BN层的注意事项
2020/06/23 Python
Python使用文件操作实现一个XX信息管理系统的示例
2020/07/02 Python
python+selenium实现12306模拟登录的步骤
2021/01/21 Python
JACK & JONES英国官方网站:欧洲领先的男装生产商
2017/09/27 全球购物
美国知名的隐形眼镜电商:Contacts America
2019/11/19 全球购物
测量实习生自我鉴定
2013/09/19 职场文书
银行类自荐信
2014/02/04 职场文书
食品安全处置方案
2014/06/14 职场文书
2014年环境整治工作总结
2014/12/10 职场文书
通知书大全
2015/04/27 职场文书
汽车修理厂管理制度
2015/08/05 职场文书
教师廉政准则心得体会
2016/01/20 职场文书
Python3 使用pip安装git并获取Yahoo金融数据的操作
2021/04/08 Python
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python