2016-04-12 151 views
0

我似乎更新與交響樂團在我離開的樹枝模板鏈接時將面臨的問題2.的jQuery與樹枝模板

我看起來像jQuery的元素不希望加載每次我更新的鏈接的格式href="{{ path('terms') }}

下面是index.html.twig

<div class="site-header"> 
     <div class="main-header"> 
      <div class="container"> 
       <div id="menu-wrapper"> 
        <div class="row"> 
         <div class="logo-wrapper col-md-4 col-sm-2 col-xs-8"> 
          <h1> 
           <a>Site Name</a> 
          </h1> 
         </div> 
         <div class="col-md-8 col-sm-10 col-xs-4 main-menu text-left"> 
          <ul class="menu-first hidden-sm hidden-xs"> 
           <li class="active"><a href="#">{{ 'About' }}</a></li> 
           <li><a href="{{ path('terms') }}">{{'Terms & Conditions' }}</a></li> 
           <li><a href="privacy">{{ 'Privacy Policy' }}</a></li> 
           <li><a href="#formname">{{ 'Subscribe' }}</a></li> 
           <li><a href="unsubscribe">{{ 'Unsubscribe' }}</a></li> 
          </ul> 
          <a href="#" class="toggle-menu visible-sm visible-xs"><i class="fa fa-bars"></i></a> 
         </div> 
        </div> 
       </div> 
       <div class="menu-responsive hidden-md hidden-lg"> 
        <ul> 
         <li class="active"><a href="#">{{ 'About' }}</a></li> 
         <li><a href="terms">{{ 'Terms & Conditions' }}</a></li> 
         <li><a href="privacy">{{ 'Privacy Policy' }}</a></li> 
         <li><a href="#formname">{{ 'Subscribe' }}</a></li> 
         <li><a href="unsubscribe">{{ 'Unsubscribe' }}</a></li> 
        </ul> 
       </div> 
      </div> 
     </div> 
    </div> 

使用的鏈接(即href="terms")舊格式的一部分給了我正是我想,但是我想知道我做錯了更新鏈接時,樹枝格式(即低於)

<li><a href="{{ path('terms') }}">{{'Terms & Conditions' }}</a></li> 

這是我的jQuery代碼。在瀏覽器控制檯中的錯誤消息帶我到下面的jQuery代碼的「菜單項錨點」部分,所以我知道錯誤在哪裏,但我不完全確定如何解決它。我的jQuery技能非常有限,所以我很感激任何幫助。

jQuery(document).ready(function($) { 

    'use strict'; 

    /************** Toggle *********************/ 
    // Cache selectors 
    var lastId, 
     topMenu = $(".menu-first, .menu-responsive"), 
     topMenuHeight = topMenu.outerHeight()+15, 
     // All list items 
     menuItems = topMenu.find("a"), 
     // Anchors corresponding to menu items 
     scrollItems = menuItems.map(function(){ 
      var item = $($(this).attr("href")); 
      if (item.length) { return item; } 
     }); 

    // Bind click handler to menu items 
    // so we can get a fancy scroll animation 
    menuItems.click(function(e){ 
     var href = $(this).attr("href"), 
      offsetTop = href === "#" ? 0 : $(href).offset().top-topMenuHeight+1; 
     $('html, body').stop().animate({ 
      scrollTop: offsetTop 
     }, 300); 
     e.preventDefault(); 
    }); 

    // Bind to scroll 
    $(window).scroll(function(){ 
     // Get container scroll position 
     var fromTop = $(this).scrollTop()+topMenuHeight; 

     // Get id of current scroll item 
     var cur = scrollItems.map(function(){ 
     if ($(this).offset().top < fromTop) 
      return this; 
     }); 
     // Get the id of the current element 
     cur = cur[cur.length-1]; 
     var id = cur && cur.length ? cur[0].id : ""; 

     if (lastId !== id) { 
      lastId = id; 
      // Set/remove active class 
      menuItems 
      .parent().removeClass("active") 
      .end().filter("[href=#"+id+"]").parent().addClass("active"); 
     }     
    }); 



    $(window).scroll(function(){ 
     $('.main-header').toggleClass('scrolled', $(this).scrollTop() > 1); 
    }); 



    $('a[href="#top"]').click(function(){ 
     $('html, body').animate({scrollTop: 0}, 'slow'); 
     return false; 
    }); 


    $('.flexslider').flexslider({ 
     slideshow: true, 
     slideshowSpeed: 3000, 
     animation: "fade", 
     directionNav: false, 
    }); 


    $('.toggle-menu').click(function(){ 
     $('.menu-responsive').slideToggle(); 
     return false; 
    }); 


    /************** LightBox *********************/ 
     $(function(){ 
     $('[data-rel="lightbox"]').lightbox(); 
     }); 


}); 
+0

有沒有理由枝或symfony牽連:他們是服務器端。 – goto

+0

你是什麼意思「更新」?您是否在修改用於AJAX請求的鏈接?你能展示更多的代碼嗎? – eRIZ

+0

嗨eRIZ,我更新了以上的代碼與我的index.html.twig的主要部分。我們正在更新我們的index.html.twig,特別是與其他網頁的鏈接。在我上面更新的代碼中,鏈接以兩種不同的方式呈現:href =「{{path('terms')}}」 - 這是一種樹枝格式,href =「隱私」 - 這是一種舊格式。在上面的代碼href =「隱私」工作正常(jQuery旋轉木馬加載完美)。但是,當我更新鏈接到樹枝格式(即href =「{{路徑('條款')}}」)鏈接工作正常,但傳送帶沒有顯示。我相信問題是上面的jQuery代碼。 –

回答

0

我花了一段時間來弄明白(因爲我不是在jQuery的專家),但一個我已經改變了上面的jQuery代碼從HREF李,一切都開始完美的工作。代碼的更新版本張貼如下

scrollItems = menuItems.map(function(){ 
      var item = $($(this).attr("li")); 
      if (item.length) { return item; } 
     });