是否可以使用平滑滚动来锚定链接而不 使用链接jQuery
?我正在创建一个新站点,但我不想使用jQuery
。
使用此处的函数:JavaScript动画并对其进行修改以修改属性(不仅是样式的属性),您可以尝试如下操作:
function animate(elem, style, unit, from, to, time, prop) {
if (!elem) {
return;
}
var start = new Date().getTime(),
timer = setInterval(function () {
var step = Math.min(1, (new Date().getTime() - start) / time);
if (prop) {
elem[style] = (from + step * (to - from))+unit;
} else {
elem.style[style] = (from + step * (to - from))+unit;
}
if (step === 1) {
clearInterval(timer);
}
}, 25);
if (prop) {
elem[style] = from+unit;
} else {
elem.style[style] = from+unit;
}
}
window.onload = function () {
var target = document.getElementById("div5");
animate(document.scrollingElement || document.documentElement, "scrollTop", "", 0, target.offsetTop, 2000, true);
};
演示: https : //jsfiddle.net/zpu16nen/
确保将窗口的尺寸调到足够小,以便实际上有一个滚动条并且可以滚动到第5格。
不,它不需要重新使用jQuery的25%。
显然,这需要根据您的问题的实际含义进行高度修改(例如,当窗口的哈希值发生变化时,等等)。
请注意,使用jQuery就像这样简单:
$(document).ready(function () {
$("html, body").animate({
scrollTop: $("#div5").offset().top
}, 2000);
});
演示: http : //jsfiddle.net/7TAa2/1/
只是说...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句