2013-02-17 73 views
1

我有一個函數,它是通過在頁面上移動來調用的,並且根據你的位置發送給你一個不同的元素。在jQuery動畫中使用變量

所以

function changeFrame() { 
    $('#f2').stop(true,true).hide("blind", { direction: "vertical" }, 400); 
} 

偉大的工程,但我想改變的飛行目標ID,所以我雖然我將能夠調用該函數的變量和使用,但它不」工作。

function changeFrame(requestedFrame) { 
     $(requestedFrame).stop(true,true).hide("blind", { direction: "vertical" }, 400); 
    } 

其他的都是一樣的,我用 我也嘗試過這樣的:

$('requestedFrame') 

最後,以確保我正確地傳遞給它的變量,我是我這樣做是

alert(requestedFrame); 

requestedFrame

f2 
+0

$( '#requestedFrame')不是$( 'requestedFrame') – cIph3r 2013-02-17 16:13:28

+0

你用'changeFrame( '#someId' 調用函數)'或'changeFrame('。someClass')'或'changeFrame(someElement)'?如果沒有,你的做法是錯誤的。 – 2013-02-17 16:14:39

+0

然後嘗試使用ID爲#requestedFrame的元素,而不是通過函數變量請求的幀 – 2013-02-17 16:15:14

回答

2

這很難說什麼requestedFrame是的,但如果它是一個字符串ID,那麼你需要選擇它:

$('#' + requestedFrame).stop(true,true).hide("blind", { direction: "vertical" }, 400); 

如果它已經是一個jQuery對象,那麼你就可以完全放棄包裝:

requestedFrame.stop(true,true).hide("blind", { direction: "vertical" }, 400); 
+0

requestedFrame是一個字符串,例如「f2」簡短但不是ID/jQuery對象 – 2013-02-17 16:27:45

2

$()jQuery中接受對象..嘗試調用該函數,如:

changeFrame(this); 

,然後使用該函數內部的 'OBJ' 變量:

function changeFrame(obj) { 
$(obj).stop(true,true).hide("blind", { direction: "vertical" }, 400); 
}