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 相关文章推荐
jQuery对表单元素的取值和赋值操作代码
May 19 Javascript
图片img的src不变让浏览器重新加载实现方法
Mar 29 Javascript
js实现的标题栏新消息闪烁提示效果
Jun 06 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
Mar 19 Javascript
jQuery根据表单name获取值的方法
May 24 Javascript
sso跨域写cookie的一段js脚本(推荐)
May 25 Javascript
jQuery zTree树插件动态加载实例代码
May 11 jQuery
详谈js的变量提升以及使用方法
Oct 06 Javascript
antd组件Upload实现自己上传的实现示例
Dec 18 Javascript
node学习笔记之读写文件与开启第一个web服务器操作示例
May 29 Javascript
微信小程序实现滚动Tab选项卡
Nov 16 Javascript
Html5生成验证码的示例代码
May 10 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开发环境配置记录
2011/01/14 PHP
PHP中的gzcompress、gzdeflate、gzencode函数详解
2014/07/29 PHP
[JS]点出统计器
2020/10/11 Javascript
通过修改referer下载文件的方法
2008/05/11 Javascript
起点页面传值js,有空研究学习下
2010/01/25 Javascript
jquery select下拉框操作的一些说明
2010/04/02 Javascript
jQuery表格行上移下移和置顶的实现方法
2015/10/08 Javascript
Bootstrap基本插件学习笔记之Popover提示框(19)
2016/12/08 Javascript
清除输入框内的空格
2016/12/21 Javascript
谈谈VUE种methods watch和compute的区别和联系
2017/08/01 Javascript
bootstrap-table组合表头的实现方法
2017/09/07 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
nodejs实现套接字服务功能详解
2018/06/21 NodeJs
详解SPA中前端路由基本原理与实现方式
2018/09/12 Javascript
详解jQuery中的getAll()和cleanData()
2019/04/15 jQuery
vue集成一个支持图片缩放拖拽的富文本编辑器
2021/01/29 Vue.js
python中使用enumerate函数遍历元素实例
2014/06/16 Python
python批量修改文件名的实现代码
2014/09/01 Python
python的unittest测试类代码实例
2017/12/07 Python
python for和else语句趣谈
2019/07/02 Python
tensorflow 变长序列存储实例
2020/01/20 Python
浅谈keras中自定义二分类任务评价指标metrics的方法以及代码
2020/06/11 Python
css3如何绘制一个圆圆的loading转圈动画
2018/01/09 HTML / CSS
HTML5 CSS3新的WEB标准和浏览器支持
2009/07/16 HTML / CSS
内部类的定义、种类以及优点
2013/10/16 面试题
商务日语专业毕业生求职信
2013/10/26 职场文书
《风娃娃》教学反思
2014/04/19 职场文书
党的群众路线学习材料
2014/05/16 职场文书
2014年入党积极分子党校培训心得体会
2014/07/08 职场文书
给妈妈洗脚活动方案
2014/08/16 职场文书
房屋维修协议书范本
2014/09/25 职场文书
机关作风建设自查报告及整改措施
2014/10/21 职场文书
群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
保护环境建议书作文400字
2015/09/14 职场文书
三年级作文之小小梦想
2019/12/06 职场文书