2010-06-28 39 views
3

我想隱藏我的網頁中的一個元素(這是一個YouTube播放器實例)。當我使用jQuery的hide()方法時,即使在我再次調用.show()之後,玩家也會有點不習慣,因爲它會停止響應。jquery hide()/ show()的替代品?

隱藏()上是否有另一種變體,可能類似.opacity(0)或.visibility('none'),我可以使用?我不介意在頁面上佔用空間的玩家,我只想隱藏它,以便用戶無法與其互動,直到我準備展示視頻(玩家需要立即加載視頻,但我沒有一個,直到用戶選擇一個來自另一個UI元素!)

感謝

回答

2

您可以在元素的CSS顯示屬性設置爲無,但是這基本上是與$ .hide()所做的一樣。

而不是隱藏包含視頻播放器的元素,考慮屏蔽它。不要修改播放器元素的可見性,而是在頂部渲染另一個元素並調整該元素的可見性。

+1

如果這是不可能的(取決於您的網頁上有什麼),將元素移出屏幕常常有效。我不確定YouTube播放器的問題,但是我的Flash播放器在「display」爲「none」時沒有完全加載。將它移出屏幕解決了我在這些情況下的問題。嘗試'.css({'position':'absolute','left':' - 500px'})'代替'hide()'和'.css({'position':'inherit','left' :'0'})''代替'show()' – Andrew 2010-06-28 23:18:30

+0

我如何渲染它上面的元素? – user246114 2010-06-29 01:17:19

+0

您的視頻呈現在對象或嵌入元素中。 jQuery很容易告訴你元素在頁面上的位置。使用jQuery在(幾乎)在文檔中的任何位置附加另一個在相同位置具有相同寬度和高度的元素。如果你需要更多的細節,最好再提一個問題。 – 2010-06-29 17:55:55

0

嘗試

.css('visiblity', 'collapse');