2011-05-19 40 views
0

基本上我所做的是全景拍攝,然後把它放進一個div稱爲屏幕(也稱爲屏幕1另一個DIV使它所以只有600x400px部分可以在任何可以看到裏面時間),然後在點擊移動Screen div 200px時爲左箭頭指定了一個函數。它現在工作正常,即使我的代碼可能不是很乾淨。 但無論如何,我的問題是,我試圖做一個if語句,以便當div的左側位置達到一定量的箭頭皮,但它不會工作無論我嘗試。 這裏是下面的代碼:jQuery的動畫與如果聲明

點擊功能:

$('#arrowl').click(function() { 
    $('#Screen').animate({ 
     left: '+=200' 
    }, 300, function() { 
     duration: 200, 
     movescreen(); 
    }); 
}); 

movescreen功能:

var a = $('#Screen').css("left") 

function movescreen() { 
    if(a == "-5px") { 
     alert("success") 
    } 
} 

香港專業教育學院也使用在所有位置,而不是CSS標籤,但沒有幫助嘗試。任何幫助都將不勝感激。現在我一直在撓頭。

+0

假設你缺少分號錯別字,我什麼也看不到非常不妥。 「a」是什麼意思,你爲什麼在你的功能之外獲得它? – 2011-05-19 05:05:05

+0

實際上,分號在JavaScript中並不是必須的; EOL就夠了。儘管他們被認爲是標準的。 – 2011-05-19 05:07:29

+0

a應該是= div屏幕的左側值。但是每當我在movescreen功能運行它警告它只是返回相同數量的-1405px(起始位置)。 =/ – James 2011-05-23 01:04:30

回答

0

我假設-5px位置是要隱藏的箭頭位置下操作。問題在於你在你關心的點之前評估這個位置,並且它正在改變。你需要做的內部評價的movescreen功能:

function movescreen() { 
    if ($('#Screen').css('left') === '-5px') { 
     window.alert('success'); 
    } 
} 

這就是說,我有一個粗略的時間評估是否這是你遇到的唯一問題。我建議嘗試更密集的調試 - 但這是我可以看到的明顯錯誤。

+0

是的,我設法調試它在一定程度上,這基本上是我能夠從它的範圍: 該函數的工作原理,但問題在於圖像的左值沒有改變。當我告訴語句時左側位置等於-1405(起始位置)來運行它運行每次我按箭頭時間。在檢查鉻中的元素時,我可以清楚地看到左值的變化,所以我現在完全沒有想法= / – James 2011-05-20 07:39:36