javascript - 在事件导航项下方显示箭头

标签 javascript jquery html css

我目前正在构建一个作品集网站,以展示我在大学期间所做的一些工作,并决定采用单页设计。我希望网站做的是当您向下滚动并“输入”各个部分时,导航栏下方的向下箭头将水平滑动(作为动画)到当前事件部分/导航项下方。

我尝试了什么?老实说,没什么。我不是在寻找答案,虽然那很好,但我只需要一个起点。主要问题是我真的不知道如何将它“捕捉”到每个列表项的下方,以便它完全位于文本的中心并满足不同的显示分辨率。

HTML

  <div id="header">
        <div class="topbar">
        </div>
        <div class="headbar">
            <nav>
                <div class="wrapper">
                    <ul>
                        <li><a href="#home">Home</a></li>
                        <li><a href="#about">About</a></li>
                        <li><a href="#work">Projects</a></li>
                        <li><a href="#contact">Contact</a></li>
                        <li><a href="#">Blog</a></li>
                    </ul>
                </div>
            </nav>
        </div>
        <div class="shadow">
        </div>
        <div class="current"></div>
    </div>

CSS

.wrapper {
width: 920px;
margin: 0 auto;
}

#header {
position: fixed;
width: 100%;
}

#header .topbar {
height: 10px;
background-color: #386c93;
}

#header .headbar {
height: 60px;
background: #f2f2f2;
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmMmYyZjIiIHN0b3Atb3BhY2l0eT0iMSIvPgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjY2JlYmZmIiBzdG9wLW9wYWNpdHk9IjEiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==);
background: -moz-linear-gradient(top, #ffffff 0%, #f2f2f2 100%, #cbebff 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#f2f2f2), color-stop(100%,#cbebff));
background: -webkit-linear-gradient(top, #ffffff 0%,#f2f2f2 100%,#cbebff 100%);
background: -o-linear-gradient(top, #ffffff 0%,#f2f2f2 100%,#cbebff 100%);
background: -ms-linear-gradient(top, #ffffff 0%,#f2f2f2 100%,#cbebff 100%);
background: linear-gradient(to bottom, #ffffff 0%,#f2f2f2 100%,#cbebff 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#cbebff',GradientType=0 );
border-bottom: 1px solid #9b9999;
}

#header .shadow {
height: 17px;
background-image: url('shadow.png');
background-repeat: none;
background-position: center;
}

#header a {
color: #5c5959;
text-decoration: none;
}

#header a:hover {
color: #0092ff;
}

#header .current {
background-image: url('nav-pointer.PNG');
height: 19px;
width: 22px;
margin-top: -18px;
margin-left: 715px;
}

#header ul{
padding-top: 20px;
text-align: center;
list-style: none;
}

#header li {
font-size: 16px;
//float: left;
display: inline;
color: #5c5959;
padding: 30px;
}

我创建了一个 JSFiddle 只是为了让每个人的生活更轻松 - http://jsfiddle.net/GW6CG/2/ - 如果 CSS 有点困惑,我深表歉意,我打算在某个时候清理它。

或者,您可以在此处实时查看网站:http://www.jonline.me.uk/dev/

非常感谢您的宝贵时间!

最佳答案

从头开始创建此功能毫无意义。已经创建了许多插件来实现这一点。一个是 scrollit.js .

此外,如果您想在滚动时添加放屁声,请查看 fartscroll.js

希望我帮到了你。

关于javascript - 在事件导航项下方显示箭头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19010543/

相关文章:

Javascript - 非结构化 URL 的 URL 解码

javascript - "Close"页面上的按钮

javascript - 如何限制select2中显示的标签数量?

javascript - Phonegap 中的 AJAX 成功数据加载 [object Document]

javascript - 这里使用了哪个 jQuery 过渡插件?

php - While Loop 在 MySQL 服务器上使用 PHP

html - 如何格式化 float 的 div 以包含静态定位的元素?

javascript - 当 <td> 改变大小时,有没有办法注意到?

javascript - Dojo:构建自定义配置

javascript - 我正在尝试根据更改选择器使用 on() 附加事件