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事件用法实例汇总
Aug 29 Javascript
深入理解JavaScript系列(50):Function模式(下篇)
Mar 04 Javascript
jQuery实现数秒后自动提交form的方法
Mar 05 Javascript
js实现文本框宽度自适应文本宽度的方法
Aug 13 Javascript
connection reset by peer问题总结及解决方案
Oct 21 Javascript
javascript 删除数组元素和清空数组的简单方法
Feb 24 Javascript
基于JS递归函数细化认识及实用实例(推荐)
Aug 07 Javascript
vue params、query传参使用详解
Sep 12 Javascript
深入浅析vue组件间事件传递
Dec 29 Javascript
vue组件name的作用小结
May 23 Javascript
详解vue-router 初始化时做了什么
Jun 11 Javascript
vue2.0的虚拟DOM渲染思路分析
Aug 09 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
Yii快速入门经典教程
2015/12/28 PHP
PHP数组访问常用方法解析
2020/09/05 PHP
Add a Picture to a Microsoft Word Document
2007/06/15 Javascript
jquery利用event.which方法获取键盘输入值的代码
2011/10/09 Javascript
Jquery时间验证和转换工具小例子
2013/07/01 Javascript
javascript上传图片前预览图片兼容大多数浏览器
2013/10/25 Javascript
JS事件在IE与FF中的区别详细解析
2013/11/20 Javascript
回车直接实现点击某按钮的效果即触发单击事件
2014/02/27 Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
2015/10/16 Javascript
javascript三种代码注释方法
2016/06/02 Javascript
JavaScript正则表达式小结(test|match|search|replace|split|exec)
2016/12/08 Javascript
JS前端加密算法示例
2016/12/22 Javascript
微信小程序中子页面向父页面传值实例详解
2017/03/20 Javascript
jQuery实现的回车触发按钮事件功能示例
2018/03/25 jQuery
JavaScript中 ES6变量的结构赋值
2018/07/10 Javascript
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
2018/08/24 Javascript
el-table表头根据内容自适应完美解决表头错位和固定列错位
2021/01/07 Javascript
python统计一个文本中重复行数的方法
2014/11/19 Python
python实现数值积分的Simpson方法实例分析
2015/06/05 Python
推荐10款最受Python开发者欢迎的Python IDE
2018/09/16 Python
python wxpython 实现界面跳转功能
2019/12/17 Python
pycharm设置默认的UTF-8编码模式的方法详解
2020/06/01 Python
python输出结果刷新及进度条的实现操作
2020/07/13 Python
通过代码实例了解Python3编程技巧
2020/10/13 Python
html5教你做炫酷的碎片式图片切换 (canvas)
2017/07/28 HTML / CSS
宝拉珍选英国官网:Paula’s Choice英国
2019/05/29 全球购物
综合素质的自我鉴定
2013/10/07 职场文书
初中生期末考试的自我评价
2013/12/17 职场文书
关于旷工的检讨书
2014/02/02 职场文书
工资收入证明
2014/10/07 职场文书
2014年财务经理工作总结
2014/12/08 职场文书
绵山导游词
2015/02/05 职场文书
教师个人学习总结
2015/02/11 职场文书
2015年村级财务管理制度
2015/08/04 职场文书
springboot拦截器无法注入redisTemplate的解决方法
2021/06/27 Java/Android
win10截图快捷键win+shift+s没有反应无法截图怎么解决?
2022/08/14 数码科技