【发布时间】:2012-10-22 09:33:49
【问题描述】:
我有一个导航,我正在使用 jQuery 幻灯片显示导航下的内容。当您单击不同的导航项时,我可以切换 div,但是当我单击相同的导航项将其关闭时,它只是将选项卡弹回关闭然后再次打开。我现在正在关闭它的 div 内有一个关闭按钮。
如何让 div 打开后关闭>
示例链接为here
我的jQuery如下:
(function ($) {
$.fn.showHide = function (options) {
//default vars for the plugin
var defaults = {
speed: 1000,
easing: '',
changeText: 0,
showText: 'Show',
hideText: 'Hide'
};
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);
我正在开火:
$(document).ready(function(){
$('.show_hide').showHide({
speed: 300, // speed you want the toggle to happen
easing: '', // the animation effect you want. Remove this line if you dont want an effect and if you haven't included jQuery UI
changeText: 0, // if you dont want the button text to change, set this to 0
showText: 'View',// the button text to show when a div is closed
hideText: 'Close' // the button text to show when a div is open
});
});
【问题讨论】:
-
如何检查单击的项目是否是当前打开的项目(添加/删除类)或使用
is(":visible")。如果它只是隐藏它,否则其他向上/向下滑动的东西?