3 回答
TA贡献1851条经验 获得超5个赞
更改该参数并没有改变我的东西。我遵循了QuantumPuter关于scrollIntoView的建议并且它起作用了(最终不需要JQuery。我添加了术语“href =“#openmenu”onclick =“window.location.hash ='#menu1'””来证明我们可以结合其他东西放在一起并使滚动仍然有效)。
https://jsfiddle.net/7k1s6t80/
<div style="height:3000px">
<a id="forscroll" href="#openmenu" onclick="window.location.hash = '#menu1'">Down</a>
<a id="here" style="position:absolute; top: 2000px;"></a>
</div>
<script>
const target = document.getElementById('here'),
button = document.getElementById('forscroll');
button.addEventListener('click',
function(){target.scrollIntoView({block: 'start',behavior:'instant',inline:'start'});});
</script>
另外,为了回答我的问题,使 JQuery 滚动即时(就像我想的那样与队列有关)=>
$('html,body').animate({scrollTop: e.offset().top},{queue: false,duration: 0})
TA贡献1851条经验 获得超4个赞
将 'fast' 替换为 0。第二个参数是持续时间(以毫秒为单位)
<script>
function scrolling(aid){
var aTag = $("a[name='"+ aid +"']");
$('html,body').animate({scrollTop: aTag.offset().top},0);}
$("#link").click(function() {
scrolling('here');});
</script>
添加回答
举报