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); } });
它只是更改了url但是当我不在index.php上时它不会滚动到元素
使用hash而不是使用jQuery滚动到某个元素。
- 将哈希添加到URL
http://www.myurl.com/index.php#anotherelement
- 在要在页面加载时滚动的页面中添加具有相同id(本例中为
anotherelement
)的元素。
请将您的代码更改为
$('.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"; } });