当我单击<a id="cityAaaHref">Link</a>
时,我想更改位置,并用动画滚动到该部分。
这是我的代码
$(document).ready(function () {
$('#cityAaaHref').click(function () {
var selector = $(this).data('selector');
if (window.location.pathname == "/aaa/") {
$('html, body').animate({
scrollTop: $("#" + selector).offset().top
}, 1000);
}else{
window.location = "../aaa#city";
//how to here set animation after location change
}
})
IF语句完全可以满足我的需要 唯一的问题是ELSE状态,在这里我更改位置并显示此部分,但是我想更改位置然后在该部分显示滚动动画。
希望您能理解。 thnx
答案 0 :(得分:1)
在 aaa 页面上,您可以执行以下逻辑:
$(document).ready(function() {
if (window.location.hash === "#city") {
//do something
}
});
如果哈希值为"#city"
不一定意味着要执行该动画,则可以在代码中根据需要将动画标记为localStorage
:
$(document).ready(function () {
$('#cityAaaHref').click(function () {
var selector = $(this).data('selector');
if (window.location.pathname == "/aaa/") {
$('html, body').animate({
scrollTop: $("#" + selector).offset().top
}, 1000);
}else{
localStorage.setItem('aaa', 'animation');
window.location = "../aaa#city";
//how to here set animation after location change
}
});
});
,然后在另一页上:
$(document).ready(function() {
if (localStorage.getItem('aaa') === 'animation') {
//do something
}
});