当用户点击li链接时,我希望用户被重定向到#gameshowintro。
Html代码:
<li class="about"><a href="#gameshowintro"></a></li>
的javascript:
$(document).ready(function() {
$("body").css("display", "none");
$("body").fadeIn(2000);
$("a").click(function(event){
event.preventDefault();
linkLocation = this.href;
$("body").fadeOut(1000, redirectPage);
});
function redirectPage() {
window.location = linkLocation;
}
});
答案 0 :(得分:0)
要使代码正常工作,您需要将linkLocation
传递给函数。 linkLocation
不 全局范围变量(它是click
事件处理函数的本地变量),不能从被调用的函数。所以将代码更改为:
$("a").click(function(event){
event.preventDefault();
linkLocation = this.href;
$("body").fadeOut(1000, "redirectPage('" + linkLocation + "')");
});
function redirectPage(linkLocation) {
window.location = linkLocation;
}
或者如果您需要滚动到该部分。如果是这种情况,请使用此平滑滚动:
$(function() {
$('a[href*=#]:not([href=#])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
});