0

我正在开发一个 joomla 2.5 组件,并且在我的代码中使用了很多 jQuery。我正在使用 jQuery noconflict() 来避免任何冲突...问题在于一个非常简单的显示/隐藏 div 的 jquery 代码,该代码旨在使用户能够隐藏 div。

$(document).ready(function(){
    jQuery('.slidingDiv').show();
    jQuery('.show_hide').show();

jQuery('.show_hide').click(function(){
jQuery('.slidingDiv').slideToggle();
}); });

每当我包含 jQuery noconflict() 时,如下所示:

JFactory::getDocument()->addScriptDeclaration('jQuery.noConflict()');

上面的显示/隐藏脚本不起作用,但同一页面上的其他 jquery 脚本工作正常!

html实现:

<div class="slidingDiv">
        <a href="#" class="show_hide"><img style="float:right;"src="/images/close.png" alt="hide"></a> text here </div>

和CSS:

.slidingDiv {
height:85px;
background-color: #6A5C53;
padding:10px;
margin:4px auto;
margin-bottom: 10px;
border-radius: 6px;
moz-border-radius:6px;
webkit-border-radius:6px;
width:920px;
z-index: 50;}


.show_hide {
    display:none;
}

任何想法任何人?任何帮助将不胜感激!谢谢!

4

2 回答 2

3

我建议使用自调用匿名函数,这样你就可以做这样的事情而不需要jQuery.noConflict()声明:

(function($) {
  $(document).ready(function(){
    $('.slidingDiv').show();
    $('.show_hide').show();
    $('.show_hide').click(function(){
        $('.slidingDiv').slideToggle();
    });
  });
})(jQuery);

有关更多详细信息,请参阅http://blog.themeforest.net/tutorials/ask-jw-decoding-self-invoking-anonymous-functions/

于 2013-05-16T20:30:03.953 回答
1

$应该jQuery在您的 document.ready 函数中。

  jQuery(document).ready(function(){
//^^^------here;
于 2013-05-16T19:38:39.410 回答