Как сделать, чтобы после обновления открывался нужный раздел
Добрый день, Форумчане!
Я сделал на jQuery переходы по разделам сайта. Вот код jQuery("#home").fadeIn(500); jQuery("ul li").on("click", function() { var id = jQuery(this).data("section"); var elem = jQuery(this); jQuery("section:visible").fadeOut(function() { jQuery("ul li").removeClass("active"); jQuery(id).fadeIn(); elem.addClass("active"); }); }); HTML <ul class="nav nav-pills"> <li class="active" data-section="#home"> <a href="#home">Продукты</a> </li> <li class="" data-section="#about"><a href="#about">О компании</a></li> </ul> <section id="home"> FIRST PAGE </section> <section id="about"> SECOND PAGE </section> Все работает прекрасно, но вот после обновления не могу сделать, чтобы открывался раздел, который был активен до обновления. То есть если я был в section id="about", то после обновления, он все равно переходит на section id="home". |
Цитата:
|
Цитата:
|
Кто-то генерит контент страницы? Или это просто статичные ХТМЛ-файлы?
|
Цитата:
|
Цитата:
Тогда у тебя только один вариант - писать выбор в куки, а потом их читать и "делать выводы"... |
Цитата:
|
Цитата:
|
<style> #pages div + div { display: none; } #pages div{ position: absolute; background: #fff; } #pages div:target{ display: block; } </style> <ul id="menu"> <li><a href="#home">Главная</a></li> <li><a href="#news">Новости</a></li> </ul> <div id="pages"> <div id="home">Показываем контент главной</div> <div id="news">Показываем другую страницу</div> </div> <script src="//code.jquery.com/jquery-latest.js"></script> <script> function switchPage(page) { $('#pages > div').not('#' + page).fadeOut(); $('#' + page).hide().fadeIn(); } $('#menu a').click(function(e){ e.preventDefault(); location.hash = this.hash; switchPage(this.hash.replace('#', '')); }); switchPage(location.hash.replace('#','') || 'home'); </script> |
Цитата:
hash = document.location.hash; if(hash!=''){ jQuery("ul li a[href='"+hash+"']").trigger('click'); } |
Если кто сможет помочь, буду благодарен. )))
|
Mukhtar,
посмотрите тут |
Цитата:
|
В свойстве href ссылок хранится полный адрес, а не тот что указан в атрибуте href. Однако я не понимаю почему поиск идет по свойству а не атрибуту. Так или иначе, исправляется "ul li a[href$='"+hash+"']"
|
Цитата:
|
Цитата:
jQuery("ul li a[href='"+hash+"']").click() а просто клик разве неработает |
Цитата:
|
Я надеюсь click() вызывается уже после того, как обработчик клика навешан?
|
Цитата:
|
<script src="http://code.jquery.com/jquery-latest.js"></script> <style> section[id]{ display:none; position:absolute; } </style> <ul class="nav nav-pills"> <li data-section="#home"> <a href="#home">Продукты</a> </li> <li data-section="#about"><a href="#about">О компании</a></li> </ul> <section id="home"> FIRST PAGE </section> <section id="about"> SECOND PAGE </section> <script> var hash = location.hash var menu = $('.nav.nav-pills'); $('li',menu).find('a[href^="#"]').each(function() { var S = $(this).attr('href'); if(S&&hash&&S.indexOf(hash)!=-1){$(hash).addClass("active").fadeIn(500);hash='find';return false;} }); if(hash!='find')$("#home").addClass("active").fadeIn(500); $('a',menu).on("click",function() { $("section:visible").removeClass("active").fadeOut(700); var id='#'+this.href.split('#')[1]; $(id).addClass("active").fadeIn(700); }); </script> |
Mukhtar, у меня всё ок!
<!DOCTYPE HTML> <html> <head> <title></title> <meta charset="utf-8" /> <script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"> </script> <script type="text/javascript"> $(function () { $("#home").fadeIn(500); $("ul li").on("click", function () { var id = $(this).data("section"); var elem = $(this); $("section:visible").fadeOut(function () { $("ul li").removeClass("active"); $(id).fadeIn(); elem.addClass("active"); }); }); hash = document.location.hash; if (hash != '') { $("ul li a[href='" + hash + "']").click(); } }); </script> </head> <body> <ul class="nav nav-pills"> <li class="active" data-section="#home"> <a href="#home">Продукты</a> </li> <li class="" data-section="#about"> <a href="#about">О компании</a> </li> </ul> <section id="home">FIRST PAGE</section> <section id="about">SECOND PAGE</section> </body> </html> |
Цитата:
Действительно, это из за кэша браузера )))... Извиняйте, если мучил долго. Спасибо большущее. |
:) А пост 20 не подошел ?
|
:no:
Цитата:
|
9 пост - самый дзен ) . Работает даже с отключеной жабаскриптой ) Хотя кому это интересно )
|
Часовой пояс GMT +3, время: 14:19. |