Jquery更改位置然后滚动到元素

时间:2015-10-05 08:38:35

标签: javascript jquery

当我在index.php上并按下主页按钮时,它向下滚动到元素。但是,当我没有在index.php上并按下相同的按钮时,我想更改URL位置,然后滚动到该元素。这就是我尝试的方式:

$('.home').on('click', function (event) {

    // If location is index.php do this:
    if (location.href.indexOf("/index.php") > -1) {

        $('html, body').animate({
            scrollTop: $("#anotherelement").offset().top
        }, 1000);

        // If location is not index.php do this:
    } else {
        window.location = "index.php";

        $('html, body').animate({
            scrollTop: $("#anotherelement").offset().top
        }, 1000);
    }
});

它只是更改了网址,但是当我不在index.php

时它不会滚动到元素

2 个答案:

答案 0 :(得分:1)

使用hash而不是使用jQuery滚动到某个元素。

  1. 将哈希添加到网址http://www.myurl.com/index.php#anotherelement
  2. 在页面加载页面上添加具有相同ID(本例中为anotherelement)的元素。

答案 1 :(得分:0)

请将您的代码更改为

$('.home').on('click', function (event) {
    if (location.href.indexOf("/index.php") > -1) {
        $('html, body').animate({
            scrollTop: $("#anotherelement").offset().top
        }, 1000);

    } else {
        window.location = "index.php#anotherelement";
    }
});