2013-09-27 60 views
0

我真的堅持在這一點上。我正在嘗試創建一個非常基本的滑動div,它不能在某個方向上滑動超過750px。我創建了下面的腳本,不過,雖然與每個#teamInner格幻燈片點擊0像素變種位置始終保持這意味着如果聲明我寫的都不行。任何人都可以發現我做錯了什麼嗎?下面是代碼:變量將不會更新與jquery

var position = ($("#teamInner").css("margin-left")); 
var maxRight = "-750px" 
var maxLeft = "0px" 

function left(){ 
    $("#teamInner").stop(true, true).animate({"margin-left":"+=250"},500,'easeOutQuart'); 
    $("#leftArrow").css("background-position", "50px"); 
    $("#rightArrow").css("background-position", "100px"); 
} 

function right(){ 
    $("#teamInner").stop(true, true).animate({"margin-left":"-=250"},500,'easeOutQuart'); 
    $("#rightArrow").css("background-position", "100px"); 
    $("#leftArrow").css("background-position", "50px"); 

} 


$("#leftArrow").click(function(){ 
if (position <= maxLeft && position >= maxRight) { 
    alert(position); 
    left(); 
} 
else{ 
$("#leftArrow").css("background-position", "150px"); 
} 
}); 

$("#rightArrow").click(function(){ 
if (position <= maxLeft && position >= maxRight) { 
    alert(position); 
    right(); 
} 
else{ 
$("#rightArrow").css("background-position", "0px"); 
} 

}); 

回答

0

您需要手動更改的position值每次動畫的div
簡單地說,你可以添加

position = ($("#teamInner").css("margin-left")); 

leftright功能。

+0

謝謝你。它當然解決了一個問題,但不幸的是創建了另一個我真正不明白的問題。 ** var maxRight **似乎有問題。如果我將它設置爲-750px **#teamInner **只會移動-500px,但如果我將它設置爲-1000px,那麼**#teamInner **將永遠移動?我根本無法得到我的回合。 –

+0

如果你想檢查它們的值,你應該從變量中刪除'px'。只使用'px'來設置CSS。 – mavrosxristoforos

+0

這樣做。我改變了: var position =($(「#teamInner」).css(「margin-left」)); 至: var margin =($(「#teamInner」)。css(「margin-left」)); var position = parseInt(margin); 然後加上: position = position + 250; 到每個功能。 感謝您的幫助。 –