【问题标题】:I want to delay a link using jquery我想使用 jquery 延迟链接
【发布时间】:2012-12-05 15:39:36
【问题描述】:

我在页面顶部有一个导航菜单,可在页面内重定向。但是,一些 div 最初是隐藏的,需要 1 秒钟才能出现,因此锚标记不会将浏览器窗口向下移动足够远。我想将链接延迟一秒钟以等待 div 在窗口向下滚动之前可见。

div 使用打开

$.slideToggle(1000)

导航菜单使用简单

<a href='#divid'>link to divid</a>

【问题讨论】:

    标签: jquery html scroll delay


    【解决方案1】:

    使用设置超时功能,并在触发下一个事件之前给它一个延迟。

    $("#divid").bind("click", function() {
        setTimeout(function() {
            $("#divid").slideToggle(1000);
        },1000);
    });
    

    【讨论】:

      【解决方案2】:

      http://api.jquery.com/slideToggle/ - 根据文档,你有一个回调,它允许你在动画完成时做一些事情。

      所以,你可以这样做:

      $('a').click(function(e){
          e.preventDefault(); //this will prevent immediate scrolling
          $(this.href).slideToggle(1000, function(){ 
                                          document.location.hash = $(this).attr("id")//now hash will be changed and window should be scrolled to according div.
                                        });
      });
      

      假设这会起作用。

      【讨论】:

        猜你喜欢
        • 2013-01-04
        • 2015-08-05
        • 1970-01-01
        • 2023-03-18
        • 2019-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多