2014-02-17 42 views
3

我用的是jPlayer的jQuery UI的主題:http://jplayer.org/latest/demo-07jPlayer暫停按鈕顯示在線,但應阻止

當我點擊我的播放暫停按鈕的按鈕顯示「暫停」稱號,並暫停圖標不展示。的圖標應放在由jquery的UI類:UI圖標UI圖標暫停

雖然從鏈路比較原始上述我注意到,在一個元件的「顯示:無」內聯式由display: inline取代。
在原來它是由display: block

<a title="pause" tabindex="2" class="jp-pause ui-icon ui-icon-pause" href="javascript:;" style="display: none;">pause</a> 

更換螢火蟲修復此圖標呈現正確。

那麼爲什麼它會在我的播放器中用display: inline替代display: none而不是display: block?點擊暫停按鈕?

我想jPlayer使用jquery的hide()& show()來切換按鈕。

回答

4

我剛剛和Jplayer一樣對抗了同樣的問題。你上面的第一條評論是100%正確的,jquery show()方法指定了一個內聯樣式。這裏是修復:

  1. 轉到開發者網站下載最新的非精縮源代碼 - Jplayer Download area
  2. 打開此文件jquery.jplayer.js並找到行1621
  3. 執行下列變化

故障代碼:

this.css.jq.pause.show(); 

更改爲(工作):

this.css.jq.pause.css("display", "block"); 

真棒,希望它爲你的作品

+0

感謝的是,我不知道這是在jPlayer一個bug,如果因此它應該是官方固定的。或者它是一個配置錯誤? – ivoba

1

對我來說,這個問題被推遲樣式表加載造成的。 確保在初始化播放器之前加載了皮膚樣式。

0

起初我試圖在暫停按鈕樣式中添加display: block;。只有這樣才能讓暫停按鈕在加載時閃爍。所以這不是一個好的解決方案。

與谷歌搜索,我發現,要解決這個問題的一種方法是用一個師來改變錨爲:

在線版本:

<a href="#" class="jp-play">Play</a> 
<a href="#" class="jp-pause">Pause</a> 

塊版本:

<div class="jp-play">Play</div> 
<div class="jp-pause">Pause</div> 

然後按預期的方式將暫停按鈕顯示爲一個塊。

來源:https://karolo.com/blog/developer/jplayer-how-to-use-jplayer-to-build-your-own-mp3-player.html