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多重继承示例
Mar 13 Javascript
$.ajax json数据传递方法
Nov 19 Javascript
javascript打印大全(打印页面设置/打印预览代码)
Mar 29 Javascript
jQuery实现瀑布流的取巧做法分享
Jan 12 Javascript
jQuery筛选数组之grep、each、inArray、map的用法及遍历json对象
Jun 20 Javascript
快速处理vue渲染前的显示问题
Mar 05 Javascript
jQuery子选择器与可见性选择器实例分析
Jun 28 jQuery
express框架下使用session的方法
Jul 31 Javascript
关于layui表单中按钮自动提交的解决方法
Sep 09 Javascript
Vue Components 数字键盘的实现
Sep 18 Javascript
js+canvas实现纸牌游戏
Mar 16 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
Jun 01 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教程 基本语法
2009/10/23 PHP
php处理json时中文问题的解决方法
2011/04/12 PHP
PHP图片验证码制作实现分享(全)
2012/05/10 PHP
php获取apk包信息的方法
2014/08/15 PHP
如何让CI框架支持service层
2014/10/29 PHP
PHP使用递归算法无限遍历数组示例
2017/01/13 PHP
JS生成随机字符串的多种方法
2014/06/10 Javascript
JS实现网页滚动条感应鼠标变色的方法
2015/02/26 Javascript
javascript表格的渲染组件
2015/07/03 Javascript
如何实现星星评价(jquery.raty.js插件)
2016/12/21 Javascript
JavaScript数据结构之二叉树的查找算法示例
2017/04/13 Javascript
Bootstrap Table使用整理(二)
2017/06/09 Javascript
详解用node搭建简单的静态资源管理器
2017/08/09 Javascript
详解React Native网络请求fetch简单封装
2017/08/10 Javascript
jQuery获取随机颜色的实例代码
2018/05/21 jQuery
如何解决vue2.0下IE浏览器白屏问题
2018/09/13 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
2019/05/01 Javascript
JS实现滚动条触底加载更多
2019/09/19 Javascript
jQuery操作选中select下拉框的值代码实例
2020/02/07 jQuery
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
python判断字符串是否是json格式方法分享
2017/11/07 Python
python实现转盘效果 python实现轮盘抽奖游戏
2019/01/22 Python
把django中admin后台界面的英文修改为中文显示的方法
2019/07/26 Python
如何在Anaconda中打开python自带idle
2020/09/21 Python
css3和jquery实现自定义checkbox和radiobox组件
2014/04/22 HTML / CSS
浅谈CSS3动画的回调处理
2016/07/21 HTML / CSS
html5中去掉input type date默认样式的方法
2018/09/06 HTML / CSS
HTML5 body设置全屏背景图片的示例代码
2020/12/08 HTML / CSS
巴西最大的体育用品商城:Netshoes巴西
2016/11/29 全球购物
介绍一下XMLHttpRequest对象的常用方法和属性
2013/05/24 面试题
考试作弊被抓检讨书
2014/01/10 职场文书
外国人聘用意向书
2014/04/01 职场文书
软环境建设心得体会
2014/09/09 职场文书
六查六看心得体会
2014/10/14 职场文书
行政前台岗位职责
2015/04/16 职场文书
关于车尾的标语大全
2015/08/11 职场文书