为了账号安全,请及时绑定邮箱和手机立即绑定

如何立即滚动到位置?

如何立即滚动到位置?

ITMISS 2022-01-13 15:05:48
启用平滑滚动后,如何使用 JavaScript 立即将窗口滚动到某个位置?:root {    scroll-behavior: smooth;}有没有办法忽略这个 CSS 规则?像这样的东西:window.scrollBy({ top: 0, behavior: 'instantly' });
查看完整描述

3 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

你去:


window.scrollTo({

  top: 0,

  left: 0,

  behavior: 'instant',

});


查看完整回答
反对 回复 2022-01-13
?
RISEBY

TA贡献1856条经验 获得超5个赞

也许你可以scroll-behavior在调用之前设置.scrollBy(),然后在之后重置它。


var root = document.querySelector(':root');

var btnInstantScroll = document.querySelector('#btnInstantScroll');

var btnDefaultScroll = document.querySelector('#btnDefaultScroll');


btnInstantScroll.addEventListener('click', function() {


  // Change scroll behavior

  root.setAttribute("style", "scroll-behavior: auto;");


  // Timeout ensures styles are applied before scrolling

  setTimeout(function() {

    window.scrollBy(0, -2000);

    

    // Reset to CSS defaults.

    root.removeAttribute("style");

  }, 0)


})


btnDefaultScroll.addEventListener('click', function() {

  window.scrollBy(0, -2000);

})

:root {

  scroll-behavior: smooth;

}


.scrollable {

  height: 2000px;

  background: repeating-linear-gradient(#e66465, #e66465 20px, #9198e5 20px, #9198e5 25px);

}


.controls {

  padding: 15px;

  position: fixed;

  bottom: 0;

}

<div class="scrollable">


</div>


<div class="controls">

  <button type="button" id="btnInstantScroll">

    Instant scroll

  </button>


  <button type="button" id="btnDefaultScroll">

    Scroll using doc settings

  </button>

</div>


查看完整回答
反对 回复 2022-01-13
?
撒科打诨

TA贡献1934条经验 获得超2个赞

 scroll-behavior: auto; 不工作。并且 scroll-behavior: instant; 不再存在


这是唯一对我有用的东西:


html {


  scroll-behavior: auto !important;


}


查看完整回答
反对 回复 2022-01-13
  • 3 回答
  • 0 关注
  • 158 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号