Как сделать, чтобы после обновления открывался нужный раздел
Добрый день, Форумчане!
Я сделал на 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, время: 13:09. |