用jquery现图片切换与随机显示

用jquery现图片切换与随机显示
用jquery现图片切换与随机显示

用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;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++; //通过此判段语句,即可确定所有图片是否是第一次显示。

}

for(var i=0;i<=11;i++){

if(roundCount>=1){

$("#i"+i).hide().attr("src","imgs/"+count+a[i]+".jpg").show();

}else{

$("#i"+i).hide().attr("src","imgs/"+count+a[i]+".jpg").fadeIn(2000);

}

}

本函数设计有个缺陷是如果第一次显示图片还未加载完成,用户就快速点击切换按钮,则可能会造成之后点击的图片显示不出来。所以必须有个判断图片是否成功加载完毕的函数。此函数暂未实现。

④鼠标移上去,图片变大,下边显示有关于图片的描述信息

由于图片是随机显示的,所以图片描述信息也必须随着图片的随机显示而显示,因此不能简单的将其写入html代码中固定不变。本例采用两个数组来保存两组图片的描述信息。即groupPictures0,groupPictures1,所以上述代码都需要改成一下形式:

初始时,加载第一组图片,并且加载图片描述信息,将其设为隐藏。

$(document).ready(function(){

for(var i=0;i<=11;i++){

$("#i"+i).attr("src","imgs/0"+i+".jpg").hide().fadeIn(2000);

$("#i"+i).next().append(groupPictures0[i]).hide();

}

})

点击切换图片时,

function randomImage(){

count++;

count=count%2;

var a=new Array();

$("img").next().html("");//在每次切换图片时,将上一次显示的图片信息清空,否则会累加。

a=random();

if(count==0){

roundCount++;

}

for(var i=0;i<=11;i++){

if(roundCount>=1){

$("#i"+i).hide().attr("src","imgs/"+count+a[i]+".jpg").show(); }else{

$("#i"+i).hide().attr("src","imgs/"+count+a[i]+".jpg").fadeIn(2000 );

}

//用来判断单击按钮时,切换到第几组图片,从而找到相应的图片信息描述的组号。

if(count==1){

$("#i"+i).next().append(groupPictures1[a[i]]).hide();

}else{

$("#i"+i).next().append(groupPictures0[a[i]]).hide();

}

}

}

当鼠标移上去图片变大,并显示相关图片信息的关键代码如下:$(document).ready(function(){

$("td >div").hover(

function(){

$(this).addClass("move");

$(this).find("span").addClass("font").show();

},

function(){

$(this).removeClass("move");

$(this).find("span").removeClass("font").hide();

}

)})

到此,所有效果均以实现。

鼠标点击按钮图片切换+自动切换+左右按钮点击切换效果

鼠标点击按钮图片切换+自动切换+左右按钮点击切换效果 上一次在我的文库中分享了点击按钮,图片左右切换轮播效果代码,今天主要是分享【鼠标点击按钮,图片进行切换+图片自动切换+点击左右按钮图片进行切换的三种效果的组合代码】。 最后的效果如下: Html代码部分: 图片轮播效果制作

Css代码部分: *{margin:0px;padding:0px}

实验七:jQuery实现轮换广告

实验七jQuery实现轮换广告 一、实验目的 1. 掌握jQuery对象的获取及使用; 2. 掌握jQuery事件的使用; 3. 了解jQuery的用途。 二、实验内容 1. 使用jQuery实现图片的自动播放效果; 2. 使用jQuery实现点击导航播放相应的图片。 三、实验步骤 本实验使用到的相关样式设置代码提供如下: * { margin: 0; padding: 0; } body { font: 12px; padding-top: 50px; padding-right: 200px; padding-bottom: 100px; padding-left: 200px; } ul { list-style: none; } img { padding: 2px; border: 1px solid #eee; } #imgs { width: 410px; margin-right: auto; margin-left: auto; } .top, .btm { overflow: hidden; }

.top { background-position: 0 0; height: 5px; } .btm { height: 7px; } .mid { width: 400px; padding: 5px 7px 0; border: 1px solid #999; } .mid ul { width: 400px; height: 600px; background: #fff; position: relative; overflow: hidden; } .mid ul li { width: 400px; height: 600px; position: absolute; left: 490px; top: 0; } .mid ul li.first { left: 0; } #img_list { width: 486px; height: 20px; padding-top: 5px; overflow: hidden; height: 1%; } 图片及层布局参考代码如下:

Html网页显示js轮播图

Html网页显示js轮播图

  • 1
  • 2
  • 3
  • 4
.top-menu { height: 43px; margin-bottom: 2px;

Html、js图片轮播代码

Html、js图片轮播代码 现在基本上每个网站都有一个自动轮播的banner广告图,在没有任何按钮的情况下,图片在规定的时间内进行自动切换。下面是html、js 图片轮播代码详情。 代码效果图实例: 第一秒: 第二秒:

第三秒: 详细代码如下:Html代码部分:

Css代码部分: Javascript代码部分:
  • 1
  • 2
  • 3
  • 4
  • 5

超级漂亮的jQuery焦点图广告轮播特效

超级漂亮的jQuery 焦点图广告轮播特效插件jCarousel 来源:原创 作者:JS 代码网 时间:2014-04-15 访问: 下载次数: 超级漂亮的jQuery 焦点图广告轮播特效插件jCarousel ,很棒的jQuery 插件,支持带缩略图左右切换, 支持Ajax 加载数据,响应式布局,支持移动端触屏,强大的API 参数配置功能以及函数回调功能,支 持自定义动画速度和动画模式,支持轮播方向定义,还是很不错的,推荐学习和使用。 使用方法: 1.加载jQuery 和插件 1 2 3 2.HTML 内容 01

02

03
    04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
11
12 13 14

15

16
3.函数调用 view source

前端编程提高之旅 jQuery常见特效

前端编程提高之旅(二)----网站常见特效的jquery 实现 时间 2014-08-09 23:11:11 CSDN博客原 文https://www.360docs.net/doc/b517248842.html,/yingyiledi/article/details/38460189 最好的编程语言是逻辑,前端各种交互特效的实现多可以用jquery实现,特效可以纷飞,内在逻辑则基本不变。这一篇文章主要介绍jquery实现常见特效背后的逻辑。 1.通过类名获取元素集合 首先来看一个js原生代码不支持的方法,通过类来获取元素集合。document.getElementsByClassName=function(classname){ var retnode = []; var myclass = new RegExp('\\b'+classname+'\\b');//匹配类名 var elem = this.getElementsByTagName('*');//得到所有元素 for (var j = 0; j < elem.length; j++) { var classes = elem[j].className; if (myclass.test(classes)){ retnode.push(elem[j]); } } return retnode; }//通过遍历整个文档元素类名,返回所有指定类名的数组

逻辑思路: 通过构造一个类名的正则表达式,选取所有标签,并通过正则表达式与所有标签类名属性进行匹配,从而返回一个类名数组,实现通过类名得到元素集合的目标。 实现这个方法的同时,也给在不使用jquery的情况下,选取特定序数的元素提供了便利。 2.二级联动菜单的构造 $("#select1").change( function() { //侦测一级菜单的change事件 var id = $("#select1").val(); if(id == 1){ //通过id判断二级菜单 $.get('index.php', null, function(data){ //get方式传值 $("span").empty(); //清空标签 $("span").append(""); //填充对应的二级菜单 }); }else{ $.get('index.php', null, function(data){ //get方式传值 $("span").empty(); //清空标签 $("span").append(""); //填充对应的二级菜单 }); } });

基于BootStrap的图片轮播效果展示实例代码

先给大家展示下bootstrap图片轮播图,效果如下所示,如果大家感觉效果还不错,请继续往下阅读,参考实现代码。 直接给大家贴代码了,具体代码如下所示: 代码如下: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后!--> <title>图片轮播_01</title> <!-- Bootstrap --> <link href="../bootstrap-3.3.5-dist/css/bootstrap.min.css" rel="stylesheet"> <script src="../js/jquery-2.1.4.min.js"></script> <script src="../bootstrap-3.3.5-dist/js/bootstrap.min.js"></script> </head> <body> <!-- 作者:凯尔 时间:2016-02-20 描述: carousel date-interval="4000"停留时间/幅图 支持键盘左右方向键对图片进行轮播方向选择 --> <div class="container"> <div style="width:960px;height: 400px;margin: auto;padding: auto;"> <div id="carousel-example-generic" class="carousel slide"> <ol class="carousel-indicators"> <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li> <li data-target="#carousel-example-generic" data-slide-to="1" class=""></li> <li data-target="#carousel-example-generic" data-slide-to="2" class=""></li> <li data-target="#carousel-example-generic" data-slide-to="3" class=""></li> </ol> <div class="carousel-inner"> <div class="item active"> <img src="../img/图片轮播/pic01.jpg" /> </div> <div class="item"> <img src="../img/图片轮播/pic02.jpg" />

使用jQuery制作图片轮播效果

使用jQuery制作图片轮播效果 在DW中插入一个图片,然后回车 重复步骤1直到所有图片添加完成 选择所有图片,格式菜单-〉列表-〉项目列表,制作一个图片列表 然后再插入一个div,id命名为“LunBoNum”,在div内写入代码如下: 1 2 3 4 5 插入一个新id为“LunBo”的div,并包含如上全部内容,代码如下:

1 2 3 4

5

在网页的代码间加入jQuery框架链接 编写JS代码如下 //此处的jquery版本可以不是9.1