2011-02-03 56 views
0

不知道該怎麼稱呼這個問題,因爲它是一個奇怪的問題。我的代碼中是否有錯誤?

基本上我有這個代碼,基於與左右箭頭的交互來移動圖像滑塊。它在昨天和今天運轉良好後,完全沒有改變它停止工作。

我假設我錯過了一個;或者a)甚至a),因爲這些愚蠢的錯誤似乎總是如此。我是gunna跑過去並且將所有東西都去掉了,看看問題出在哪裏,但同時有人可以看一下這個,然後仔細檢查一切是否應該寫入?

$(function(){ 
    $("#rightArrow").hover(function() { 
     $('.projectImages').animate({left: '-270px'}, 3000); 
    }); 

    $("#leftArrow").hover(function() { 
     $('.projectImages').animate({left: '0px'}, 3000); 
    }); 

    $("#rightArrow").click(function() { 
     $('.projectImages').css('left', '-270px'); 
     $('.projectImages').stop(); 
    }); 

    $("#leftArrow").click(function() { 
     $('.projectImages').css('left', '0px'); 
     $('.projectImages').stop(); 
    }); 

    $(".arrow").mouseout(function() { 
     $('.projectImages').stop(); 
    }); 
}); 

乾杯, 山姆

+0

http://jsfiddle.net/RnQj7/並點擊jsLint,你會看到你的代碼是否正確。 – 2011-02-03 11:44:47

+0

我應該提到。當箭頭懸停並停下來時,如果將鼠標懸停在任何按鈕上,它就會開始出現一個循環,而不是移動。 $(「。projectImages')。animate({left:' - 270px'})。delay(25000).animate({left:'0'})。delay(25000); – Sam 2011-02-03 11:44:55

+0

對不起,我完全不明白 - 你可以提供你的CSS和標記請 – 2011-02-03 11:48:52

回答

1

應該嘗試這種方式:

$("#rightArrow").hover(function() { 
    $('.projectImages').animate({left: '-270px'}, 3000); 
},function() { 
    $('.projectImages').stop(); 
}); 

$("#leftArrow").hover(function() { 
    $('.projectImages').animate({left: '0px'}, 3000); 
},function() { 
    $('.projectImages').stop(); 
}); 

$.hover(infunc,outfunc)是兩個參數的函數,對於這個短版:$.mouseenter(infunc).mouseleave(outfunc)

編輯:使用mouseovermouseout像費利克斯說是最好的方式恕我直言。

1

你是什麼意思停止工作?它在做什麼?

嘗試綁定到mouseover(或mouseenter),而不是hover

$("#rightArrow").mouseover(function() { 
    $('.projectImages').animate({left: '-270px'}, 3000); 
}); 

$("#leftArrow").mouseover(function() { 
    $('.projectImages').animate({left: '0px'}, 3000); 
}); 

如果你只傳遞一個函數來hover,該功能將在mouseentermouseleave被調用。

相關問題