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的让非HTML5浏览器支持placeholder属性的代码
May 24 Javascript
JQuery中form验证出错信息的查看方法
Oct 08 Javascript
使用JavaScript开发IE浏览器本地插件实例
Feb 18 Javascript
JavaScript数组随机排列实现随机洗牌功能
Mar 19 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
Mar 19 Javascript
基于jquery实现的树形菜单效果代码
Sep 06 Javascript
文本框只能输入数字的js代码(含小数点)
Jul 10 Javascript
jQuery实现简单的滑动导航代码(移动端)
May 22 jQuery
详解如何使用 vue-cli 开发多页应用
Dec 16 Javascript
在vue中使用Autoprefixed的方法
Jul 27 Javascript
angularjs1.X 重构controller 的方法小结
Aug 15 Javascript
element form 校验数组每一项实例代码
Oct 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提交post数组参数实例分析
2015/12/17 PHP
php封装的smartyBC类完整实例
2016/10/19 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
2016/11/25 PHP
AngularJS表单编辑提交功能实例
2015/02/13 Javascript
jQuery焦点控制图层展示延迟隐藏的方法
2015/03/09 Javascript
jquery带翻页动画的电子杂志代码分享
2015/08/21 Javascript
js实现TAB切换对应不同颜色的代码
2015/08/31 Javascript
javascript编程异常处理实例小结
2015/11/30 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
微信小程序 UI布局常用技巧整理总结
2016/12/05 Javascript
BootStrap与Select2使用小结
2017/02/17 Javascript
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
PHP 实现一种多文件上传的方法
2017/09/20 Javascript
Vue实现搜索 和新闻列表功能简单范例
2018/03/16 Javascript
vue webpack实用技巧总结
2018/04/24 Javascript
vue Tab切换以及缓存页面处理的几种方式
2019/11/05 Javascript
[03:02]2020完美世界城市挑战赛(秋季赛)总决赛回顾
2021/03/11 DOTA
用smtplib和email封装python发送邮件模块类分享
2014/02/17 Python
python多线程threading.Lock锁用法实例
2014/11/01 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
2018/01/08 Python
pycharm+django创建一个搜索网页实例代码
2018/01/24 Python
Python日期时间对象转换为字符串的实例
2018/06/22 Python
对python dataframe逻辑取值的方法详解
2019/01/30 Python
利用Python实现Shp格式向GeoJSON的转换方法
2019/07/09 Python
python画图常规设置方式
2020/03/05 Python
Python decorator拦截器代码实例解析
2020/04/04 Python
django表单中的按钮获取数据的实例分析
2020/07/31 Python
前端canvas水印快速制作(附完整代码)
2019/09/19 HTML / CSS
Artist Guitars新西兰:乐器在线商店
2017/09/17 全球购物
初二生物教学反思
2014/02/03 职场文书
土木工程师职业规划范文
2014/03/07 职场文书
电大毕业生自我鉴定
2014/04/10 职场文书
开业庆典活动策划方案
2014/09/21 职场文书
学校教师培训工作总结
2015/10/14 职场文书
详解用Python把PDF转为Word方法总结
2021/04/27 Python
使用Python解决图表与画布的间距问题
2022/04/11 Python