Jquery 更改位置然后滚动到元素
Jquery change location then scroll to element
当我在 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
上时它不会滚动到元素
使用散列而不是使用 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";
}
});
当我在 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
上时它不会滚动到元素使用散列而不是使用 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";
}
});