$(function () {
PeffectEve()
})var i=0;/*图片效果*/
function PeffectEve(){

//计算有多少张图
var sum = $(".photo .img img").length
$(".photo .img").css({"width":sum*680})

//根据图的数量打印a标签的个数
var text="";
for( b=0; b<sum; b++){
text += "<a></a>"
}
$(".photo .btn").html(text)

//设置第一个a标签的样式
$(".photo .btn a:eq(0)").addClass("current")

//上下页事件
PageEve(i)

//自动播放
setInterval(PlayEve, 2000);
function PlayEve(){
i++;
$(".photo .btn a:eq("+(i-1)+")").removeClass("current")
$(".photo .btn a:eq("+i+")").addClass("current")
$(".photo .img").stop().animate({"margin-left":-(i)*680},300)
}

//具体点击到哪个a标签
$(".photo .btn a").each( function(i,n){
$(n).click( function(){
$(".photo .btn a").removeClass("current")
$(n).addClass("current")
$(".photo .img").stop().animate({"margin-left":-i*680},300)
$(".prev").add(".next").unbind();
PageEve(i)
})
})
}//上下页事件
function PageEve(i){

$(".prev").click( function(){
var sum = $(".photo .img img").length
if( 0 < i ){
$(".photo .btn a:eq("+i+")").removeClass("current")
$(".photo .btn a:eq("+(i-1)+")").addClass("current")
$(".photo .img").stop().animate({"margin-left":-(i-1)*680},300)
i--
}else if(i<=0){
$(".photo .btn a:eq(0)").removeClass("current")
$(".photo .btn a:eq("+(sum-1)+")").addClass("current")
$(".photo .img").stop().animate({"margin-left":-(sum-1)*680},300)
i=sum-1
}
})

$(".next").click( function(){
var sum = $(".photo .img img").length
if( i < sum - 1){
$(".photo .btn a:eq("+i+")").removeClass("current")
$(".photo .btn a:eq("+(i+1)+")").addClass("current")
$(".photo .img").stop().animate({"margin-left":-(i+1)*680},300)
i++
}else if(i=sum){
$(".photo .btn a:eq("+(sum-1)+")").removeClass("current")
$(".photo .btn a:eq(0)").addClass("current")
$(".photo .img").stop().animate({"margin-left":0},300)
i=0
}
})
}怎么让 i 的值全程同步

解决方案 »

  1.   

    在自动播放事件中 i的值会一直加
    但你点击下一页时 i的值是会从0开始计算 不是接着上面自动播放事件中 i的值
      

  2.   

    把i的声明放在PeffectEve里试下。
      

  3.   

    else if(i=sum){
                $(".photo .btn a:eq("+(sum-1)+")").removeClass("current")
                $(".photo .btn a:eq(0)").addClass("current")
                $(".photo .img").stop().animate({"margin-left":0},300)
                i=0
            }这里 的 i=sum 应该是 i == sum吧