2011-06-20 140 views
0

嗨我目前正在處理由我的老闆給我的腳本,它不適用於除IE以外的所有瀏覽器。Javascript滑塊問題

現在,他是使用CSS屬性留給動畫,這樣他有一個變量,它獲得左側的當前值。例如,讓左邊等於-100px。現在

一旦它有這個價值它添加到10px的價值,使其從左邊移動。現在

我的問題在於parseInt(),並在數的末尾"px"前綴。它不斷返回NaN而不是左側的值。

有誰知道如何解決這個問題?

在此先感謝


UPDATE: 好,我已經重寫了代碼和it can be viewed here,通過重寫我的意思是我已經把我的老闆代碼和改變的變量名和評論它,使其更容易理解,看看它試圖用JavaScript來完成。

現在滑塊是爲了讓他選擇了DIV幻燈片從左邊進入地方(DIV是-760px offet)在IE中能正常工作,但不是在任何其他瀏覽器。然而,我已經爲其他瀏覽器提供了修復方法。通過從-760的末尾刪除樣式表中的px,它會導致DIV出現,但不會如何滑動。

爲了便於即時通訊將提供滑塊HTML和CSS爲他們這裏hpefully有點幫助。的

The HTML

The CSS

+0

導致'NaN'的代碼究竟是什麼? – pimvdb

+0

'w = parseInt(document.getElementById(slideDiv).style.left); \t \t 如果(W <0) \t { \t \t W = W + 10; \t \t的document.getElementById(slideDiv).style.left = W \t \t}' – RobFos

+0

@ robf92:你肯定'.style.left'明確設置?你可能也想使用'.offsetLeft'。 – pimvdb

回答

0

嘗試捕捉

try{ 
    w=parseInt(document.getElementById("slideDiv").style.left+"make me string"); 
}catch(e){ 
    w=0; 
    alert(e.toString()); 
} 
+0

我遇到的問題是它沒有得到元素的當前位置,因爲它返回-760像素,obvisisuly不是一個整數因爲「px」 – RobFos

+0

對不起,我誤解了一下,但parseInt的工作是在字符串內部查找數字,忽略字母字符。 – Tank

+0

嘗試這樣做,警報回報: 類型錯誤:的document.getElementById(「slideDiv」)爲空 @Tank啊沒關係,這是我第一次exerience使用Javascript,我現在的位置是在一家軟件開發公司這樣一個徒弟啊它對我來說都很困惑:D – RobFos

0

使用parseFloat代替parseInt

+0

試過這個,但我仍然得到NaN,謝謝。 – RobFos

+0

我只是嘗試alerting parseFloat(「 - 170px」);在我的控制檯,它工作正常。什麼是「document.getElementById(slideDiv).style.left」的實際值,因爲我不認爲這是正確的 – Alex

+0

我的代碼位於[這裏](http://pastebin.com/NEmgVFQx)謝謝。 – RobFos

0

您可以嘗試這樣的事:

// should return e.g. "10px": 
var valueAsString = document.getElementById('slideDiv').style.left; 

// remove "px" at the end, so w will only contain "10": 
numericPartOfValue = value.substring(0, value.length - 2); 
var w = parseInt(numericPartOfValue); 

if(w < 0) { 
    w = w+10; 
    // Note: Updated after the comment below: 
    document.getElementById(slideDiv).style.left =w + "px"; 
} 
+0

嗯謝謝你,但使用它打破它在IE瀏覽器 爲什麼Javascript必須這麼麻煩? D: 我只是要發佈整個JavaScript文件。正如我所說,它是由我的老闆寫的,而不是我。我的Javascript知識目前是相當基本的 [鏈接到pastebin](http://pastebin.com/NEmgVFQx) 我發現的一件事是,從CSS文件中刪除「px」使它工作類(滑塊變化但沒有「滑入」動畫) 我也要感謝所有人的幫助,你們都是偉大的人,我非常感激。謝謝大家:) – RobFos

+0

如果我正確理解你的問題,那麼我剛剛做出的修改應該修復它(請參閱代碼註釋):在完成處理數值後,只需將「px」添加到最後。 – Kjartan

+0

Nope仍然不能工作,我說不工作,IE現在動畫大約1/7的方式,然後它停止,所有其他瀏覽器仍然不工作,謝謝。 – RobFos