jQuery图片幻灯片展示

闲来无事,使用jQuery做了一个图片幻灯片,贴出来大家都看看,多扔砖头……

先说前台吧,很简单,如下所示:

<div class="slidBox">
        <div class="slidBoxImages">
                <a href="http://www.baidu.com" target="_blank"><img src="1.jpg" title="" alt="" /></a>
                <a href="http://www.youdao.com" target="_blank"><img src="2.jpg" title="" alt="" /></a>
                <a href="http://www.bing.com" target="_blank"><img src="3.jpg" title="" alt="" /></a>
                <a href="http://www.google.cn" target="_blank"><img src="4.jpg" title="" alt="" /></a>
        </div>
        <p>
                <a href="#nogo"></a>
                <a href="#nogo"></a>
                <a href="#nogo"></a>
                <a href="#nogo"></a>
                <span></span>
        </p>
</div>

再说css,如下:

body{font-size:12px; background-color:#FFF; text-align:center;}
#page{ width:950px; margin:0 auto; text-align:left;}
a,a:link,a:visited,a:hover,a:active{text-decoration:none;}
p,a img{margin:0; padding:0;}
a img{ border:none;}

.slidBox{padding:4px; width:410px; border:1px solid red;}
.slidBoxImages{position:relative; width:410px; height:300px; overflow:hidden; top:0; left:0; }
.slidBoxImages img{width:410px; height:300px;}
.slidBox p{ background:#F5F5F5; height:18px; line-height:18px; margin-top:2px; padding:2px 10px; font-weight:bold; position:relative;}
.slidBox p span{float:right; margin-right:60px;}
.slidBox p a { display:block; width:18px; height:18px; background:transparent url(t1.jpg) no-repeat; position:relative; left:4px; float:left;}
.slidBox p a.current{background-image:url(t2.jpg);}

很简单,总体上一个slidBox,上面一部分是图片列表,下面是指示器,指示当前所展示的图片,里面还有一个span,是图的说明。

现在来说js,嘿嘿,有一点,千万别忘了加载jQuery,题目,就是jQuery做的,这个可是很重要的

<script type="text/javascript" src="https://files.cnblogs.com/wangdetian168/jquery-1.4.2.min.js"></script>

然后我们新建一个文件吧,写咱们自己js,代码如下:

$(document).ready(function(){
//slidetext数组为变换的文字
var slidetext=new Array();
slidetext[0]="焦点图01";
slidetext[1]="焦点图02";
slidetext[2]="焦点图03";
slidetext[3]="焦点图04";

//幻灯片自动播放的速度
var IntervalSpeed=5000;
//幻灯片渐隐的速度
var slidOutSpeed=1000;
//幻灯片渐显的速度
var slidInSpeed=2000;
//总的幻灯片的数量
var picNum=4;
//幻灯片播放到的位置,默认从第一个开始播放
var nowPosition=Math.floor(Math.random()*picNum);
$(".slidBox p a").eq(nowPosition).addClass("current");
$(".slidBox p span").text(slidetext[nowPosition]);
//幻灯片自动播放
var interval = setInterval(playIt,IntervalSpeed);
function playIt(){
        //当前幻灯片消失,下一个显现
        $(".slidBoxImages a img").fadeOut(slidOutSpeed,function(){                              
                $(".slidBoxImages a img").fadeIn(slidInSpeed);
        });
        $(".slidBox p a.current").removeClass("current");
        //改变大图说明和下面的小按钮,以及点击大图之后跳转到的链接
        nowPosition=(nowPosition+1)%picNum;
        $(".slidBox p a").eq(nowPosition).addClass("current");
        $(".slidBox p span").text(slidetext[nowPosition]);
}
$(".slidBox p a").mouseover(function(){
        clearInterval(interval);
        nowPosition=$(this).index(".slidBox p a")-1;
        playIt();
});     
$(".slidBox p a").mouseout(function(){  
        interval = setInterval(playIt,IntervalSpeed);
});
});

slidetext保存各个图片的说明,nowPosition保存图片当前滑动到的位置。有一个interval,设置的图片多长时间轮换一次,,每次执行的playIt这个函数。每执行一次,nowPosition就会增加一。当鼠标放在指示器上面时候,就会移动到指定的位置。mouseover和mouseout函数是清除和重新启动那个interval的。

嘿嘿,这些其实看起来都不难,只要你会基本的jQuery就ok……