jQuery removeClass在Firefox中重新呈现视频播放器

时间:2011-03-20 20:26:33

标签: javascript jquery firefox jwplayer

我在Firefox中遇到removeClass这个最烦人的问题。 我用它来改变页面上的一些元素,这样当我调整播放器的大小时,布局看起来很好。我使用JW播放器API使用jQuery单击方法调整播放器大小,然后它自动开始播放或从它所处的位置开始播放。

现在所有这些都完美适用于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>

2 个答案:

答案 0 :(得分:1)

您是否尝试过手动修改类属性并查看其是否有效?

答案 1 :(得分:0)

这可能是Firefox 3.6中的已知错误。你可以在Firefox 4发布候选版中尝试它,看看你是否还有同样的问题。如果你不这样做,那么擅长做Bugzilla搜索的人可以弄清楚bug是什么,以及修复是否会被移植到3.6分支。