1

很抱歉打扰你,但我坚持这个。我正在尝试制作一个用作开关的按钮,当您按下它时,它需要同时折叠和展开不同的 div。

我希望隐藏一个 div 并显示另一个 div。当您点击开关时,显示的 div 将被隐藏,隐藏的 div 将被显示等等。每次您点击按钮。

我尝试用 jQuery 进行一些实验,但都没有任何运气,因为不幸的是我不是那么熟练。我的想法是让 jQuery 搜索 #main 中称为“collapse”的每个 div。但它只拾取第一个折叠 div 并忽略父 (#main) div 中的其他“折叠”div。

PS:我使用 h4.expand 进行切换并触发事件。

这是我的代码:

;(function($) {
$.fn.toggler = function(options) {
    var o = $.extend({}, $.fn.toggler.defaults, options);

    var $this = $(this);
    $this.wrapInner('<a style="display:block" href="#" title="Expand/Collapse" />');

    return this.each(function() {
      var container;
      container = '#main';
      if ($this.next('div.shown').length) { $this.closest(container).find('.shown').show().prev().find('a').addClass('open'); } 

      $(this).click(function() {
        $(this).find('a').toggleClass('open').end().next('div.collapse')[o.method](o.speed);
        return false;
    });
});};
$.fn.toggler.defaults = {
     speed : 'slow'
};

var msie = false;
if(typeof window.attachEvent != 'undefined') { msie = true; }

$.fn.slideFadeToggle = function(speed, easing, callback) {
    return this.animate({opacity: 'toggle', height: 'toggle'}, speed, easing, function() { 
    if (msie) { this.style.removeAttribute('filter'); }
    if (jQuery.isFunction(callback)) { callback(); }
  }); 
};
})(jQuery);
4

0 回答 0