2011-04-22 79 views
0

基本上我有一個780像素長的圖像,我有一個窗口,通過它你一次只能看到390px。有左和右箭頭,所以你可以滾動一種方式,然後另一種。我希望一旦您在0px或-780px的圖像末尾處停用箭頭。我曾嘗試下面的代碼只是爲了看看我在正確的方向我要去但它僅作品用「>」符號,我需要用它來工作,「==」:jquery動畫和.offset

$(function() { 

    $(".big-fwd img").click(function() { 
     var offset = $(".wrap-nga").offset(); 


     $(".wrap-nga").animate({ 
      left: "-=390px" 
     }) 
     if (offset > "-780px") { 
      alert("hello"); 
     } 
    }); 

第二問題是,當我寫的代碼,我真的希望有代替警報,什麼都沒有發生:

$(function() { 

    $(".big-fwd img").click(function() { 
     var offset = $(".wrap-nga").offset(); 


     $(".wrap-nga").animate({ 
      left: "-=390px" 
     }) 
     if (offset > "-780px") { 
      $(".big-fwd img").removeAttr(); 
     } 
    }); 

我不知所措真的。我試過「位置」而不是「抵消」,但這不是問題。 任何幫助將是太棒了。您還可以通過點擊http://www.lieslswogger.com並點擊圖庫中的一個圖像,更好地瞭解我正在嘗試做什麼。謝謝!!

回答

0

確保關閉了你的功能。它應該是:

$(function() {  
    $(".big-fwd img").click(function() { 
     var offset = $(".wrap-nga").offset(); 

     $(".wrap-nga").animate({ 
      left: "-=390px" 
     }) if (offset > "-780px") { 
      $(".big-fwd img").removeAttr(); 
     } 
    }); 
}); 
2

我認爲你的比較問題是由於$ .offset()的結果是一個對象,而不是一個值。

http://api.jquery.com/offset/

.offset()返回一個包含屬性top和left的對象。

你可能想要使用offset.left,在你的情況。

希望有幫助!

1

動畫之前做偏移檢查。在這種情況下,您還需要比較不等式的數值。

$(".big-fwd img").click(function(){ 
    var offset = $(".wrap-nga").offset(); 
    if(offset.left < 780) 
     $(".wrap-nga").animate({ left: "-=390px" }) 
}); 

同樣在背面.big-back img

if(offset.left > 0) // proceed with animation 
+0

非常感謝你的幫助 - 抱歉,我沒有迴應早些時候,得到了與另一個項目牽制。在動畫製作之前做偏移檢查對於向前移動圖像非常合適(。「big-fwd img」),但出於某種原因不適用於(。「big-back img」)。圖像繼續滾動過去0.任何人有任何想法,爲什麼這可能是?再次感謝您的幫助! – liesl 2011-04-27 16:04:54

+0

只是檢查左邊的屬性,或許'0'不是正確的值。 – 2011-04-27 17:49:29