很抱歉打扰你,但我坚持这个。我正在尝试制作一个用作开关的按钮,当您按下它时,它需要同时折叠和展开不同的 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);