2011-03-20 60 views
0

我在Firefox中遇到了這個最令人討厭的問題removeClass。 我使用它來更改頁面上的一些元素,以便在調整我的播放器大小時,佈局看起來不錯。我正在使用JW播放器API來使用jQuery點擊方法調整播放器大小,然後它會自動開始播放或從播放位置開始播放。jQuery removeClass在Firefox中重新渲染視頻播放器

現在,所有這些在IE(令人驚訝的),Chrome,Opera,Safari中完美運行。這是沒有打嗝的。但是Firefox會重新初始化播放器,並重新開始。我有一個removeClass,我在圍繞播放器的div上執行。如果我把它說出來,Firefox會做它應該做的事情。我必須使用removeClass來重新排列我的佈局。它與addClass正常工作,只是不與removeClass

任何想法爲什麼它不能正常工作與removeClass()? 下面是我的代碼,我希望它的工作原理,它適用於每個瀏覽器,但FF。

jQuery(document).ready(function(){ 
jQuery("#expand").live("click",function(event){ 
    var time = jwplayer().getPosition(); 
    var cont = $('#lcontents').html(); 
    $('#tleft').html(cont); 
    $('#pleft').addClass("centerText videoWide"); 
    $('#pleft').removeClass("column-video-left"); 
    $('#lcontents').html(""); 
    $('#tleft').addClass("column-video-left"); 

    jwplayer().resize("854","480"); 
    if(time > 0){ 
     jwplayer().onReady(function() {    
      jwplayer().seek(time);   
     }); 
    }else if(time < 1){ 
     jwplayer().play(); 
    }; 
event.preventDefault(); 
}); 
}); 

編輯 - 下面的代碼是HTML

<div id="pleft" class="column-video-left"> 
    <div id="rsplayer" class="video">jwplayer code renders here</div> 
    <div id="expand" style="text-align:center"><a href="#">Expand Player</a></div> 
    <div id="lcontents"> 
      regular html code here.... which gets moved to div tleft 
    </div> 
</div> 
<div id="expand1"></div> 
<div id="tleft"></div> 
+0

添加了html代碼 – 2011-03-20 21:14:48

+1

我還沒有能夠重現您的問題。我已經安裝了[測試頁面](http://brian.peiris.name/so/5371285/),它似乎可以在我測試過的所有瀏覽器和操作系統上正常工作。問題是否發生是因爲您使用的是HTML5播放器?如果不是,你在運行什麼版本的Flash?你在運行什麼操作系統?您可以在公共訪問的網站上重現問題嗎? – brianpeiris 2011-03-21 02:15:13

回答

1

你試過手動修改類的屬性,看是否可行?

+0

你是什麼意思手動修改類? – 2011-03-20 21:08:18

+0

@Pjack:例如,使用Firebug(只需雙擊類名)。 – 2011-03-20 21:09:17

+0

Gotcha。不,如果你手動刪除班級usig螢火蟲,而它的播放停止播放器並重新啓動。但是,如果您手動添加我想要的類,它會進行更改但繼續播放。我使用ff 3.6.15。那個sux。 – 2011-03-20 21:20:04

0

這可能是Firefox 3.6中的一個已知錯誤。你可以在Firefox 4候選版本中嘗試它,看看你是否仍然有同樣的問題。如果你不這樣做,那麼擅長進行Bugzilla搜索的人可以找出錯誤是什麼,以及該修復是否會被反向移植到3.6分支。