单击任何链接时,该脚本都可以正常工作。如果再次单击相同的链接,我希望它阻止执行显示/隐藏脚本。我在这个网站和其他网站上发现了一些东西可以尝试使用 .unbind 是最有前途的,但我的功能以 . 开头$(this).click(function ()
,并且取消绑定会杀死一切。我想不出一种重组代码的方法,因此它会toggleDiv
在点击之前检查点击toggleDiv
之后的内容,看看它们是否相同并删除脚本。
代码笔: http ://codepen.io/jpscoggan/pen/gcHbK
这是我的js代码:
//show hide
(function ($) {
$.fn.showHide = function (options) {
//default vars for the plugin
var defaults = {
speed: 200,
easing: 'swing'
};
var options = $.extend(defaults, options);
$(this).click(function () {
$('.toggleDiv').slideUp(options.speed, options.easing);
// once the button is clicked, the clicked div (.toggleDiv) slides up
var toggleDiv = $(this).attr('rel');
// reads rel attribute of clicked link / which div id to toggle
$(toggleDiv).slideToggle(options.speed, options.easing);
// toggle show/hide the correct div + speed and easing
e.preventDefault();
});
};
})(jQuery);
$('.show_hide').showHide({
speed: 200,
// speed you want the toggle to happen
});