| Айратиус | 
			12.11.2014 13:31 | 
		 
		 
		
		 
		
		
			Доработать простой код на JS   
		
		
		
		Всем доброго дня. Данный скрипт изменяет пункт меню по якорю. якорь в HTML задан следующим образом. 
<li><a href="#foo">Foo</a></li>
 но если ссылка типа такого, то уже не работает скрипт 
<li><a href="index.php#foo">Foo</a></li>
 Пожалуйста допишите JS код. В нем вообще не соображаю. 
 Вместо index.php может быть абсолютно любая страница, но при этом скрипт должен работать корректно.  
Вот источник  http://jsfiddle.net/mekwall/up4nu/А вот мой код полностью  
	Код: 
	
 !doctype html><head> 
 
 <script type="text/javascript" src="http://code.jquery.com/jquery-2.1.0.js"></script> 
 
</head> 
 
  
 
<style> 
 
body { 
 
    height: 6000px; 
 
    font-family: Helvetica, Arial; 
 
} 
 
  
 
#top-menu { 
 
    position: fixed; 
 
    z-index: 1; 
 
    background: white; 
 
    left: 0; 
 
    right: 0; 
 
    top: 0; 
 
} 
 
  
 
#top-menu li { 
 
    float: left; 
 
} 
 
  
 
#top-menu a { 
 
    display: block; 
 
    padding: 5px 25px 7px 25px; 
 
    width: 4em; 
 
    text-align: center; 
 
    -webkit-transition: .5s all ease-out; 
 
    -moz-transition: .5s all ease-out; 
 
    transition: .5s all ease-out; 
 
    border-top: 3px solid white; 
 
    color: #aaa; 
 
    text-decoration: none; 
 
} 
 
  
 
#top-menu a:hover { 
 
    color: #000; 
 
} 
 
  
 
#top-menu li.active a { 
 
    border-top: 3px solid #333; 
 
    color: #333; 
 
} 
 
  
 
#foo { 
 
    position: absolute; 
 
    top: 400px; 
 
} 
 
  
 
#bar { 
 
    position: absolute; 
 
    top: 800px; 
 
} 
 
  
 
#baz { 
 
    position: absolute; 
 
    top: 1200px; 
 
} 
 
</style> 
 
  
 
  
 
  
 
  
 
  
 
  
 
<script type="text/javascript"> 
 
  
 
  
 
  
 
jQuery(document).ready(function($) { 
 
  
 
                        // Cache selectors 
 
        var lastId, 
 
                topMenu = $("#top-menu"), 
 
                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 
 
          }, 400); 
 
          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"); 
 
           }                    
 
        }); 
 
                 
 
  
 
                }); 
 
  
 
  
 
</script> 
 
  
 
<body> 
 
    <ul id="top-menu"> 
 
      <li class="active"> 
 
        <a href="#">Top</a> 
 
      </li> 
 
      <li><a href="#foo">Foo</a></li> 
 
      <li> 
 
        <a href="#bar">Bar</a> 
 
      </li> 
 
      <li> 
 
        <a href="#baz">Baz</a> 
 
      </li> 
 
    </ul> 
 
     
 
    <a id="foo">Foo</a> 
 
     
 
     
 
    <a id="bar">Bar</a> 
 
     
 
     
 
    <a id="baz">Baz</a> 
 
</body> 
  
	 |