如何覆盖 jQuery 函数或阻止它执行
Posted
技术标签:
【中文标题】如何覆盖 jQuery 函数或阻止它执行【英文标题】:How to overwrite a jQuery function or stop it from executing 【发布时间】:2013-04-04 23:25:00 【问题描述】:我有一个 jQuery 函数,可以将 WordPress 菜单转换为浮动菜单,然后再返回。
我想在主题中创建一个演示面板,允许用户在静态和浮动菜单之间切换或切换。
工作地点可以在这里看到:http://morphius.wpinsite.com
这是将菜单设置为浮动的 jQuery 代码。
function header_transform()
window_y = $(window).scrollTop();
var wp_admin_height = "0px";
if ($("#wpadminbar").length > 0)
wp_admin_height = parseInt($("#wpadminbar").height()) + "px";
if (window_y > scroll_critical)
if (!($("#header-wrapper").hasClass("fixed")))
$("#header-wrapper").hide();
$("#wrapper").css("margin-top", header_h + "px");
$("#header-wrapper").addClass("fixed").css("top", wp_admin_height);
$("#header-wrapper").fadeIn(500);
//$logo2_link.fadeIn().appendTo(".header");
$logo2_link.fadeIn().prependTo(".header");
fixedmenu = true;
else
if (($("#header-wrapper").hasClass("fixed")))
$("#header-wrapper").fadeOut(500, function()
$("#header-wrapper").removeClass("fixed");
$("#wrapper").css("margin-top", "");
$("#header-wrapper").fadeIn(300)
);
$logo2_link.fadeOut().remove();
fixedmenu = false;
我想要实现的是,如果用户点击演示选项面板并将菜单设置为“固定”,那么下面的 jQuery 代码将不会执行和转换菜单。
默认情况下,下面的 jQuery 代码将始终运行。如果有人单击“固定”菜单选项,我只需要一种方法来阻止它执行。
谢谢
【问题讨论】:
您可以使用.off()
或.unbind()
删除事件处理程序(它们是.on()
和.bind()
的对立面)。
【参考方案1】:
在你的函数的开头添加这样的东西:
if($(".switcherFixed img").hasClass("selected"))
return;
有帮助吗?
【讨论】:
嗨,卡洛斯,是的,效果很好,谢谢。只需要添加一点额外的 jQuery 代码来隐藏 logo。 不用担心 - 使用 jQuery 一切都变得更简单!以上是关于如何覆盖 jQuery 函数或阻止它执行的主要内容,如果未能解决你的问题,请参考以下文章