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 相关文章推荐
JS 中document.URL 和 windows.location.href 的区别
Nov 11 Javascript
浅谈Javascript鼠标和滚轮事件
Jun 27 Javascript
jquery获得option的值和对option进行操作
Dec 13 Javascript
jquery获取复选框被选中的值
Mar 22 Javascript
一个非常全面的javascript URL解析函数和分段URL解析方法
Apr 12 Javascript
莱鸟介绍window.print()方法
Jan 06 Javascript
jQuery解析返回的xml和json方法详解
Jan 05 Javascript
微信小程序通过api接口将json数据展现到小程序示例
Jan 20 Javascript
Javascript中引用类型传递的知识点小结
Mar 06 Javascript
Vue.js学习笔记之修饰符详解
Jul 25 Javascript
JavaScript实现图片懒加载的方法分析
Jul 05 Javascript
vue 解决遍历对象显示的顺序不对问题
Nov 07 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数据库连接
2006/10/09 PHP
PHP+MySQL 手工注入语句大全 推荐
2009/10/30 PHP
rephactor 优秀的PHP的重构工具
2011/06/09 PHP
如何使用php输出时间格式
2013/08/31 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
2017/06/11 PHP
JScript中的undefined和&quot;undefined&quot;的区别
2007/03/08 Javascript
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
Javascript 键盘keyCode键码值表
2009/12/24 Javascript
用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
2012/06/22 Javascript
精心挑选的12款优秀的基于jQuery的手风琴效果插件和教程
2012/08/22 Javascript
JS 仿腾讯发表微博的效果代码
2013/12/25 Javascript
javascript控制在光标位置插入文字适合表情的插入
2014/06/09 Javascript
JavaScript实现数组随机排序的方法
2015/06/26 Javascript
jquery validate.js表单验证入门实例(附源码)
2015/11/10 Javascript
JS中的二叉树遍历详解
2016/03/18 Javascript
详解JavaScript的另类写法
2016/04/11 Javascript
Vue.js中extend选项和delimiters选项的比较
2017/07/17 Javascript
详解node字体压缩插件font-spider的用法
2018/09/28 Javascript
在Python的Flask框架中验证注册用户的Email的方法
2015/09/02 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
python DataFrame 取差集实例
2019/01/30 Python
python networkx 根据图的权重画图实现
2019/07/10 Python
Python高级property属性用法实例分析
2019/11/19 Python
keras 获取某层输出 获取复用层的多次输出实例
2020/05/23 Python
详解CSS3新增的背景属性
2019/12/25 HTML / CSS
New Balance德国官方网站:购买鞋子和服装
2019/08/31 全球购物
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
牛津在线药房:Oxford Online Pharmacy
2020/11/16 全球购物
地理科学专业毕业生求职信
2013/10/15 职场文书
环境科学专业教师求职信
2014/07/12 职场文书
会计学专业求职信
2014/07/17 职场文书
Nginx配置80端口访问8080及项目名地址方法解析
2021/03/31 Servers
Jsonp劫持学习
2021/04/01 PHP
apache基于端口创建虚拟主机的示例
2021/04/22 Servers
Java面试题冲刺第十七天--基础篇3
2021/08/07 面试题