- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用jquery实现图片的切换和随机显示
用jquery实现图片的切换与随机显示
本例所要实现的效果如下:
1单击按钮,能够切换图片
切换之前,如图1所示:
图1
切换之后,如图2所示:
图2
2图片每次切换后,位置是随机变化的
切换之前,如图3所示:
图3
切换之后,如图4所示:
图4
3第一次所有图片加载时,效果是淡入的,加载完之后的所有切换淡入效果消失。(由于此效果难截图,所以不能显示)
4鼠标移上去,图片变大,下边显示有关于图片的描述信息
如图5所示:
图5
下边有关此效果的具体实现步骤。
前提将html,css样式,所需图片,准备好,源文件放在源文件文件夹下边。为操作方便,布局采用的是table+div。本例图片分两组,一组显示12张图片。
① 单击按钮,切换图片
打开浏览器时,图片并未直接加载在页面中,而是通过调用js代码将第一组图片一张张加载进去。关键代码如下
$(document).ready(function(){
for(var i=0;i=11;i++){
$(#i+i).attr(src,imgs/0+i+.jpg).hide().fadeIn(2000); //通过图片id获取图片路径
}
})
补充:为方便加载图片,图片的命名规则是00,01,02….011 10,11,12…111;这样做的好处是通过图片名字的第一位数判断图片所属的组数,由于浏览器是第一次加载图片,显示的是第一组,所以上述代码图片的第一位直接是0.
当单击按钮时,会触发randomImage()事件,即切换图片。关键代码如下:
function randomImage(){
count++; //用来记录单击按钮的次数,设为全局变量,初始值为0
count=count%2; //遍历完一遍图片后,将count置为0,可以循环切换图片,并且能够通过count识别应该加载第几组图片,本例用的是两组图片,如果是多组图片,此方法照样可以用。
for(var i=0;i=11;i++){
$(#i+i).hide().attr(src,imgs/+count+i+.jpg).fadeIn(2000);
}
}
②图片每次变化后,位置是随机的
位置随机,即每次显示的图片跟前一次显示位置不同,即打乱图片显示顺序。由于图片实现是通 for(var i=0;i=11;i++)循环依次加载,而图片的路径跟i相关。所以只要将i的顺序打乱即可。通过函数randomImage()即可打乱次序,关键代码如下:
function random(){
var temp1;
var temp2;
var temp3;
var b=new Array(0,1,2,3,4,5,6,7,8,9,10,11);
//将固定的数组中的元素通过轮番交换位置将其打乱
for(var i=0;ib.length;i++){
temp1=parseInt(Math.random()*12);//通过随机函数确定数组索引值
temp2=parseInt(Math.random()*12);
if(temp1!=temp2){
temp3=b[temp1];
b[temp1]=b[temp2];
b[temp2]=temp3;
}
}
return b;
}
通过此函数即可将顺序打乱,返回值是个数组,所以上述显示图片的代码可改为
function randomImage(){
count++;
count=count%2;
var a=new Array();
a=random();
for(var i=0;i=11;i++){
$(#i+i).hide().attr(src,imgs/+count+a[i]+.jpg).fadeIn(2000);
}
}
通过此函数即可将图片位置打乱。
③第一次所有图片加载时,效果是淡入的,加载完之后的所有切换淡入效果消失
本例图片是直接放在本地文件夹中,所以不需下载,若与服务器连接,那么需下载图片,这过程需花费时间,所以第一次实现的时候需要等待,为模仿这效果,用淡入效果代替,完全下载完之后,即直接显示,淡入效果消失。为此,引入一个变量roundCount(为全局变量,初始值为0)用来记录所有图片是否是第一次显示。具体代码如下。
function randomImage(){
count++;
count=count%2;
var a=new Array();
a=random();
if(count==0){
roundCount++; //通过此判段语句,即可确定所有图片是否是第一次显示。
}
f
文档评论(0)