Jquery隐藏/显示无法在Firefox / Chrome中运行

时间:2009-06-09 19:31:33

标签: jquery

我有一些HTML / JQuery代码似乎只适用于IE 8.我试图通过添加一些直接的HTML代码将meebo聊天小部件嵌入到wiki中。我不希望默认情况下加载小部件,因为它需要一些时间,因此我将它放在div中并使用Jquery隐藏它。

不幸的是,这似乎只适用于Internet Explorer。在Firefox 3中,当我单击切换按钮时,没有任何反应。当我在谷歌浏览器中尝试时,显示/隐藏文本将切换,但嵌入小部件不会显示。

有人知道这是使用JQuery的问题,还是浏览器兼容性问题?还有很多后端维基代码也可能会影响这个问题。例如,我嵌入窗口小部件的位置嵌套在表和其他div中。这会导致JQuery选择器出现问题吗?

任何帮助都将不胜感激。

Jquery代码:

$(document).ready(function(){

    $(".btn-slide").click(function(e){ 
       e.preventDefault();

       $("#meebo-panel").toggleClass("meebo-open").toggleClass("meebo-closed").toggleClass("meebo-hide").toggleClass("meebo-show");
       $(".btn-slide").toggleClass("show-text").toggleClass("hide-text");
       $(".show-hide-panel").toggleClass("green-panel").toggleClass("grey-panel");

       $(".meebo-show").show();
       $(".meebo-hide").hide();

       $(".show-text").text("Chat with me");
       $(".hide-text").text("Hide");
       return false;      
    });
});

我的HTML:

<div class="show-hide-panel green-panel"><a href="#" class="btn-slide show-text">Chat now</a></div>
<div id="meebo-panel" class="meebo-closed meebo-hide">
    Test
</div>

编辑:看来无论div中的内容是什么,都会出现此问题。我简化了示例以包含文本,因为我相信它会简化代码。

2 个答案:

答案 0 :(得分:2)

我弄清楚问题是什么。问题是wiki后端已经包含了一个不同的(和更旧的)JQuery版本。

要解决这个问题,我需要使用核心JQuery函数noConflict()。

我的代码最终看起来像:

<script type="text/javascript" src="jquery-1.3.1.min.js"></script>

<script type="text/javascript">

jQuery.noConflict();

jQuery(document).ready(function($){
    //Do jQuery stuff using $
        ...
        ...
});
</script>

这解决了冲突的JQuery库的所有问题。

答案 1 :(得分:0)

我认为你是个好朋友。你的标记有问题。

你有一个对象标签,然后在里面有一个param,它很好但是它被嵌入了。

ie的对象标签 嵌入ff

希望这会有所帮助