如何重定向li a href链接?

时间:2015-12-08 11:42:01

标签: javascript jquery html

当用户点击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;
    }

});

1 个答案:

答案 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;
      }
    }
  });
});