作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个单页网站,如下所示:
<div class="splash-screen">
<!--Content-->
</div>
<div class="about-us">
<!--Content-->
</div>
<div class="contact-us">
<!--Content-->
</div>
如何找出观看者当前所在的位置?返回查看器所在 div 名称的函数。
我尝试过使用 jquery waypoints ,但它的方法有点错误。当视口(viewport)进入 div 时,Waypoints 会触发一个函数。我想找到视口(viewport)以编程方式输入的 div,以便我可以相应地调整菜单 slider 。
最佳答案
您可以在窗口滚动上放置一个事件监听器。每次窗口滚动时,我们都可以检查主体的顶部是否位于每个部分的顶部下方(或每个部分顶部的 100 像素以内)。
HTML
<ul id="navigation">
<li><a href="#section1">Section 1</a></li>
<li><a href="#section2">Section 2</a></li>
<li><a href="#section3">Section 3</a></li>
<li><a href="#section4">Section 4</a></li>
</ul>
<div id="section1" class="pageSection">
<h2>Section 1</h2>
</div>
<div id="section2" class="pageSection">
<h2>Section 2</h2>
</div>
<div id="section3" class="pageSection">
<h2>Section 3</h2>
</div>
<div id="section4" class="pageSection">
<h2>Section 4</h2>
</div>
Javascript
$(window).scroll(function() {
var windowTop = Math.max($('body').scrollTop(), $('html').scrollTop());
$('.pageSection').each(function (index) {
if (windowTop > ($(this).position().top - 100))
{
$('#navigation a.current').removeClass('current');
$('#navigation a:eq(' + index + ')').addClass('current');
}
});
}).scroll();
<强> Demo
关于jquery - 使用jquery,找到视口(viewport)顶部为 "inside"的div类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18564187/
我正在尝试获得一个按钮,按下该按钮时会改变颜色。当再次按下时,它应该变回原来的颜色。我究竟做错了什么? 我的模板中的按钮: export default { data: {
我是一名优秀的程序员,十分优秀!