所以,我有一个非常独特的问题(有点基于架构)。
此主页滚动流畅。它工作正常。如果您单击顶部栏中的“注册”,则表单(部分视图)显示正常。现在单击“关于”或“演示”,就会出现一些疯狂的双滚动。
另外,假设我们单击“关于”(单击注册后)并发生双滚动,如果您向上滚动并再次单击它会正常工作,但现在向上滚动并单击“演示”并再次发生。交替点击会变得很有趣哈哈……遗憾的是,这不是重点。
当谈到 javascript 时,我是一个绝对的初学者,我已经尝试了几天,但没有。
这是用于“关于”和“演示”按钮的代码:
//Smooth scroll - excludes register
$('a[href*=#], a[href*="/#"]').click(function () {
var hash = $(this).attr('href');
hash = hash.slice(hash.indexOf('#') + 1);
if ( hash ) { $.scrollTo(hash == 'top' ? 0 : 'a[name='+hash+']', 500); window.location.hash = '#' + hash; return false; }
});
这是用于注册表格:
if (typeof window.history.pushState == "function") {
function showRegister() {
if ( window.location.pathname == '/home/register' ) {
var form = $('#pg-signup-register');
$('#landing-register-clip').css({ 'max-height': window.innerHeight + 'px' });
form.css({
'margin-top': ((window.innerHeight - form.outerHeight()) / 2) + 'px'
});
$('#landing-register').animate({
height: window.innerHeight + 'px'
}, 1000);
$.scrollTo(0, 500);
} else {
$('#landing-register').animate({
height: 0
}, 1000);
}
}
window.addEventListener('popstate', showRegister);
// Smooth scrolling - register form
$('a[href^="/home/register"], a[href="/"]').click(function () {
if ( window.location.pathname != $(this).attr('href') )
window.history.pushState(null, null, $(this).attr('href'));
showRegister();
return false;
});
}