当窗口大小低于 767px 时,我有一些 jQuery 代码可以将 div 移动到流中的稍后位置。一切正常。
我还有一些 jQuery 代码可以在页面加载后滚动到主导航,然后再滚动到主要内容,如果设备小于 767 像素。
该scrollTop
功能工作正常。detach()
+insertAfter()
函数工作正常。
但是……
在insertAfter()
代码影响的单个页面上,scrollTop
代码滚动到错误的区域。它似乎正在滚动到元素移动之前锚点所在的位置。
有任何想法吗?该页面位于http://northqueensviewhomes.com/community(请记住,您必须缩小浏览器窗口才能看到这些行为,并且必须重新加载小窗口才能看到滚动功能)。
这是两个函数及其调用...</p>
function rearrangeHelpfulLinks() {
var $theLinks = $('#quicklinks.rc.well');
if (($theLinks).length) {
if ($(window).width() <= 767) {
$theLinks.detach().insertAfter('.core-copy');
} else {
$theLinks.detach().insertAfter('#main-nav');
}
}
}
function scrollOnSmallScreen() {
if ($(window).width() <= 767) {
$('html, body').animate({
scrollTop: ($('#main').offset().top - 13)
}, 3210, 'easeInOutExpo');
}
}
并且insertAfter()
在窗口调整大小时调用例程......</p>
$(window).resize(function() {
rearrangeHelpfulLinks();
});
...并且在页面加载时调用滚动功能(为了完整起见,只是...)
scrollOnSmallScreen();
不确定您是否需要进一步帮助我(再次!),但我希望滚动到正确的位置,这只是锚点,#main
.
所有帮助表示赞赏。