2014-05-10 91 views
-2

當我的網站菜單隻有「#」爲「#about」時,然後添加「活動」類和平滑滾動工作,但當菜單獲取完整網站鏈接爲「http://swadeshit.com/demo/themeforest/joomla/reversal/#about」然後無法添加類「活動」和平滑滾動不起作用。不要爲菜單平滑滾動添加「活動」類

我的代碼:

/* ============================================== 
Smooth Scrolling 
=============================================== */ 
var scrollElement = 'html, body', 
    $scrollElement; 

$(function() { 

    $('html, body').each(function() { 
     if(wWidth > mobileRes) { 
      var initScrollLeft = $(this).attr('scrollLeft'); 

      $(this).attr('scrollLeft', initScrollLeft + 1); 
      if ($(this).attr('scrollLeft') == initScrollLeft + 1) { 
       scrollElement = this.nodeName.toLowerCase(); 
       $(this).attr('scrollLeft', initScrollLeft); 
       return false; 
      } 
     } 

    }); 
    $scrollElement = $(scrollElement); 
}); 

$(function() { 
    var $sections = $('section.section'); 

    $sections.each(function() { 
     var $section = $(this); 
     var hash = '#' + this.id; 

     $('a[href="' + hash + '"]').click(function(event) { 
      moving = true; 
      if(wWidth > mobileRes) { 
       $scrollElement.stop().animate({ 
        scrollLeft: $section.offset().left 
       }, 1200, 'easeOutCubic', function() { 
        window.location.hash = hash; 
       }); 
      } else { 
       $scrollElement.stop().animate({ 
        scrollTop: $section.offset().top 
       }, 1200, 'easeOutCubic'); 
      } 
      $('nav#main-nav a').removeClass('active'); 
      if($(this).hasClass('content-menu-link')) { 
       var link = $(this).attr('href'); 
       $('a[href="' + hash + '"]').addClass('active'); 
      } else { 
       $(this).addClass('active'); 
      } 

      var trigger = $('#responsive-nav'), 
       menu = $('#main-nav ul'); 

      if(trigger.hasClass('nav-visible')) { 
       menu.slideToggle(); 
       trigger.toggleClass('nav-visible'); 
      } 

      event.preventDefault(); 
     }); 
    }); 

}); 

function setInitActiveMenu() { 
    var hash = window.location.hash; 
    $('a[href="' + hash + '"]').addClass('active'); 
} 

setInitActiveMenu(); 

請幫助我。我能做什麼。

+0

爲什麼要在菜單中放置所謂的完整網站鏈接? – creimers

回答

0

在代碼

$('a[href="' + hash + '"]') 

var hash = '#' + this.id; 

被用作選擇器,用於滾動動畫,既用於確定在何處滾動到並菜單元件來設置活動的。

因此,使用所謂的完整網站鏈接(http://example.com#hash)不起作用。