在包含数百个div元素的网页上,我需要能够点击任何人并让窗口滚动(向上或向下),以便div显示在视口的顶部。
换句话说:如何在单击元素时滚动窗口,以便此元素出现在视口顶部?
Element.scrollIntoView()可以这样做(以及如何)?
答案 0 :(得分:0)
这是你想要做的(点击按钮看):
$("button").click(function(){
$(this).addClass("sivola");
});

.sivola {
position: fixed;
top: 0;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr><hr>
<button>130 Martin Garrix si volaaa</button>
&#13;
答案 1 :(得分:0)
为您的div
分配类名。
一个(标准行为)将包含您的标准CSS属性,另一个(您将用于在视口顶部重新定位div
的属性)将具有类似
className {
position: fixed;
top: 0;
left: 0;
...
}
只要您想要触发fixed
位置的任何事件,只需将此类名指定给div。
答案 2 :(得分:0)
您必须将文档的顶部设置为0px并为其设置动画。
$('scrollToTopBtn').click(function(e){
$('html, body').animate({'scrollTop':'0'});
e.preventDefault();
});
答案 3 :(得分:0)
找到解决方案!使用下面的JS来实现这一目标。 请注意&#34; theOffset.top - 1&#34;是相对于视口顶部的位置和&#34; 100&#34;是单击ms后的延迟
jQuery(document).ready(function($) {
$(".elementclass").click(function(){
var self = this;
setTimeout(function() {
theOffset = $(self).offset();
$('body,html').animate({ scrollTop: theOffset.top - 1 });
}, 100);
});
});