首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery激活顶部的href if元素

问jQuery激活顶部的href if元素
EN

Stack Overflow用户
提问于 2022-01-29 01:44:36
回答 1查看 47关注 0票数 0

我有一个简单的菜单,每次我单击一个元素时,其他的fadeOut和单击的元素如果不是第一个元素就会上升,然后激活链接的href。

要激活链接,我需要确保元素位于页面顶部,单击的项目在addClass slideUpSm之后获得新的位置顶部,但我认为需要刷新位置顶部,因为addClass slideUpSm获得css顶部0。

代码语言:javascript
复制
setTimeout(function() {$('.main-nav li').addClass('slideUpSm')}, 1200);

在此之后,我可以激活窗口位置,我尝试了hasClass方法,并尝试检查新位置顶部是否等于零,下面是我的尝试https://jsfiddle.net/n37kgv4r/

代码语言:javascript
复制
setTimeout(function() {window.location = href}, 100);
EN

回答 1

Stack Overflow用户

发布于 2022-01-29 15:02:32

如果您只是想隐藏其他链接,并导航到只点击的节点,我们不需要使用css顶部。我们可以通过简单的jquery代码来实现这一点。

​

代码语言:javascript
复制
$(document).ready(function(){
    $('.main-nav li a').click(function(e){
    $(this).parent().addClass('show');
    $('.main-nav li').not('.show').slideUp(1200);
    var obj = $(this);
    setTimeout(function(){
    //remove the alert 
    alert("Navigating to "+ obj.attr('href'));
    window.location.href=obj.attr('href');},2000)
    return false;
  });
});
代码语言:javascript
复制
a {
  text-decoration: none;
  color: black;
}
.main-nav {
  position: relative;
}
.main-nav li {
    position: sticky;
    display: flex;
    font-size: 60px;
    line-height: 43px;
    letter-spacing: -3px;
    margin-bottom: 11px;
    transition: all 2s;
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<ul class="main-nav">
    <li><a href="page1.html">Page 1</a></li>
    <li><a href="page2.html">Page 2</a></li>
    <li><a href="page3.html">Page 3</a></li>
</ul>

​

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70901741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档