【发布时间】:2017-09-29 15:59:30
【问题描述】:
我刚刚在我自己的 WordPress 网站上添加了来自 this site 的代码。现在我注意到代码使它在我定位的部分添加了一个自动高度,以便它始终可以是全高。
js 看起来是这样的:
(function() {
var delay = false;
$('<a name="#A1">Tag #1.</a>,.home').insertBefore('.eluid6ccc1f08');
$(document).on('mousewheel DOMMouseScroll', function(event) {
event.preventDefault();
if(delay) return;
delay = true;
setTimeout(function(){delay = false},200)
var wd = event.originalEvent.wheelDelta || -event.originalEvent.detail;
var a= document.getElementsByTagName('a');
if(wd < 0) {
for(var i = 0 ; i < a.length ; i++) {
var t = a[i].getClientRects()[0].top;
if(t >= 40) break;
}
}
else {
for(var i = a.length-1 ; i >= 0 ; i--) {
var t = a[i].getClientRects()[0].top;
if(t < -20) break;
}
}
$('html,body').animate({
scrollTop: a[i].offsetTop
});
});
})();
如何在无需添加自动高度的情况下向下或向上滚动后立即转到特定部分?
一个不错的选择可能是锚标签,你可以see in my pen here,但不幸的是我无法访问网站的 html 来物理添加锚标签。
希望我说的有点道理。
【问题讨论】:
标签: javascript jquery wordpress