0

この jquery Show/hide プラグインを使用していますhttp://papermashup.com/jquery-show-hide-plugin/

ページのリンクをクリックすると前の div を閉じるつもりですが、新しいリンクをクリックすると、前の div が開いたままになります。

私のhtml

<div id="slidingDiv_2" class"toggleDiv"><!-- Conteúdo do menu 1 -->
      <div class="opmenu">
      <table>
      <tr>
        <td>
        <ul>
            <li><a href="#!">CENTROS DE ACTIVIDADES NOS TEMPOS LIVRES</a></li>
            <li><a href="#!">SERVI&Ccedil;O DE ATENDIMENTO E ACOMPANHAMENTO SOCIAL</a></li>
            <li><a href="#!">CENTRO COMUNIT&Aacute;RIO</a></li>
            <li><a href="#!">APARTAMENTO PARA A AUTONOMIA DE VIDA</a></li>
        </ul>
        </td>
        </tr>
        </table>
       </div>
    </div>

私のリンク:

<li class="items_menu"><a href="#" class="show_hide" rel="#slidingDiv">A INSTITUIÇÃO</a></li>

私のjs:

(function ($) {
    $.fn.showHide = function (options) {

        //default vars for the plugin
        var defaults = {
            speed: 1000,
            easing: 'easeInQuart',
            changeText: 0,
            showText: 'Mostrar',
            hideText: 'Ocultar'

        };
        var options = $.extend(defaults, options);

        $(this).click(function () { 

             $('.toggleDiv').slideUp(options.speed, options.easing);    
             // this var stores which button you've clicked
             var toggleClick = $(this);
             // this reads the rel attribute of the button to determine which div id to toggle
             var toggleDiv = $(this).attr('rel');
             // here we toggle show/hide the correct div at the right speed and using which easing effect
             $(toggleDiv).slideToggle(options.speed, options.easing, function() {
             // this only fires once the animation is completed
             if(options.changeText==1){
             $(toggleDiv).is(":visible") ? toggleClick.text(options.hideText) : toggleClick.text(options.showText);
             }
              });

          return false;

        });

    };
})(jQuery);
4

2 に答える 2

1

リンクをクリックしたときにdivを閉じるには

$('a').on('click', function(){
    $('Selectorfordiv').slideUp(); // or slideToggle or css({'display':'none'})
});

クラスを追加するために div が表示されるようになったときに可能であるため、任意のリンクをクリックしたときにこのクラスを閉じるように指定できます。

PS。表示/非表示の場合、プラグインを使用しないでください。自分で行を書くよりも多くのリソースが必要になります。

于 2013-06-27T09:33:18.953 に答える