我有登录和主页的html页面。登录用户时我有条件。例如,当他/她使用临时密码登录时,重定向页面的网址将为home.html?change=yes#focuschange
然后在我的主页上当网址change
== "yes"
时,它将隐藏其他div id (家包装)。然后显示focuschange
div id。并且应该滚动到所说的div id。但是在加载主页时,它只是隐藏其他div并显示focuschange
div但不显示滚动。它只显示在底部。当我重新加载页面时,它现在将按我想要的方式滚动。这是为什么?我尝试使用scrollIntoView()
和animate scrollTop
但问题相同。
我的HTML结构是这样的:
<div class="page-content">
<div class="content-block">
<div id="home-wrapper"></div> //this will hide upon page load (by default it will show)
<div id="profile-wrapper"> // this will show upon page load (by default it will hide)
<div id="info"></div>
<div id="focuschange">
<form></form>
</div>
</div>
</div>
</div>
这是我在主页上的jquery函数:
function GetURLParameter(sParam){
var sPageURL = window.location.search.substring(1);
var sURLVariables = sPageURL.split('&');
for (var i = 0; i < sURLVariables.length; i++)
{
var sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] == sParam)
{
return sParameterName[1];
}
}
}
var urlvar = GetURLParameter('change');
if (urlvar == 'yes'){
$('#home-wrapper').hide();
$('#profile-wrapper').show();
setTimeout(function(){
$("#newpass").focus();
}, 200);
}
在加载页面时只显示div id时是否存在滚动问题?
在这种情况下应该采用什么方法?
答案 0 :(得分:0)
您可能想要更改您的行;
var urlvar = GetURLParameter('changepassword');
到
var urlvar = GetURLParameter('change');
答案 1 :(得分:0)
由于您已经在使用jquery,因此可以使用jquery来执行滚动。
这是一个css-tricks
链接,可以完全自动完成链接点击。
https://css-tricks.com/snippets/jquery/smooth-scrolling/
如果你需要的只是在页面加载时发生这种情况,那么你可以这样做:
$('html, body').animate({
scrollTop: $('#focuschange').offset().top
}, 1000);