朋友,
我正在构建单页网站,当选择菜单链接时,它使用jQuery函数滚动到锚点。这是我使用的代码:
(function($) {
var jump = function(e)
{
if (e) {
e.preventDefault();
var target = $(this).attr("href");
} else {
var target = location.hash;
}
$('html,body').animate(
{
scrollTop: $(target).offset().top - 150
}, 1500, 'swing', function()
{
location.hash = target - 150;
});
}
$('html, body').hide()
$(document).ready(function()
{
$('a[href^=#]').bind("click", jump);
if (location.hash) {
setTimeout(function() {
$('html, body').scrollTop(0).show()
jump()
}, 0);
} else {
$('html, body').show()
}
});
})(jQuery)
现在使用'href'为所有html'a'元素调用此函数。我需要修改上面的函数,所以它适用于所有已定义的链接,除了这个具有锚#nav-menu
的链接:
<a href="#nav-menu" id="toggle"><span></span></a>
非常感谢任何建议。
答案 0 :(得分:0)
Jquery提供了一组内置过滤器,您可以在使用的情况下使用它们:
内置过滤器not()如下: -
$("a[href^=#]:not([href=#nav-menu])").click(jump);
构建您自己的业务过滤器,如下所示: -
$("a[href^=#]").filter(function() {
//you may here do whatever filteration business you want
return $(this).attr("href")!='#nav-menu';
}).click(jump);
简单示例Here