如何正确格式化航点jquery的粘性导航,而没有内容"跳转"?



这是html和脚本。想出了如何让粘性导航标题正常工作,但是当我尝试将 if/else 语句合并到脚本中以防止内容在航点通过后"跳跃"时,问题就来了

     <div id="wrapper2">
        <!-- Header -->  
        <div id="top_header"></div> 
             <div id="header_nav">
                 <div id="header">
                <a id="header_logo" href="{$link->getPageLink('index.php')}" title="{$shop_name|escape:'htmlall':'UTF-8'}">
                    <img class="logo" src="{$img_dir}DOMS4SQRwht.png?{$img_update_time}" alt="{$shop_name|escape:'htmlall':'UTF-8'}" />
                </a>
                    <div id="header_right">
                    {$HOOK_TOP}
                    </div> 
                 </div>
             </div>
        <script type="text/javascript" src="{$js_dir}jquery-1.7.2.min.js"></script>
        <script type="text/javascript" src="{$js_dir}waypoints.min.js"></script>
        <script type="text/javascript">
        $(document).ready(function() {
            $('.top').addClass('hidden');
            $.waypoints.settings.scrollThrottle = 30;
            $('#wrapper2').waypoint(function(event, direction) {
                $('.top').toggleClass('hidden', direction === "up");
            }, {
                offset: '-100%'
            }).find('#header_nav').waypoint(function(event, direction) {
                $(this).parent().toggleClass('sticky', direction === "down");
                event.stopPropagation();
        if (direction == 'down')
          nav_container.css({ 'height':nav.outerHeight() });
        else
          nav_container.css({ 'height':'100%' });
            });
        });
        </script>
    Here's the CSS
        div#header {width:100%;margin-left:auto;margin-right:auto;height:49px;border-bottom:2px solid #ffffff;no-repeat;zoom:1;z-index:9999;background: url(../img/bg_meshdot.png)rgba(255,255,255,0.2);background-repeat:repeat;display:inline-block;}
        .sticky #header_nav {width:100%;position: fixed;top:0;margin-top:0;margin-bottom:0;box-shadow:0 0 7px rgba(0,0,0,.5);z-index:9;}
        div#top_header {width:100%;height:51px;display:inline-block;background: url(../img/bg_meshdot.png)rgba(255,255,255,0.2);position:relative;}

注意:这并不完美。

我能够实现大致相同的目标。

$('div.checklist').waypoint({
    handler: function(event, direction) {
      var name = ".checklist";
      var menuYloc;
      var offset;
      $(window).scroll(function () {
        if(direction === "down"){
          menuYloc = 48;
        }else if(direction === "up"){
          menuYloc = 106;
        }
        offset = menuYloc+$(document).scrollTop()+"px";
        $(name).animate({top:offset},{duration:500,queue:false});
        event.stopPropagation();
      });
      event.stopPropagation();
    },
    offset: 45,
    scrollThrottle : 30
  });

有一个小错误,上升并不总是刷新。 我不完全确定是什么原因造成的。 但是菜单会足够粘。 我从Nettuts那里借来了一些。

相关内容

  • 没有找到相关文章

最新更新