0

私は joomla 2.5 コンポーネントを開発しており、コードで多くの jQuery を使用しています。競合を避けるためにjQuery noconflict()を使用しています...問題は、ユーザーがdivを非表示にできるようにするためのdivの非常に単純な表示/非表示jqueryコードにあります。

$(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()');

上記の show / hide スクリプトは機能しませんが、同じページの他の 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

$jQuerydocument.ready 関数にある必要があります。

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