выпадающее меню джейквери сворачивает подункты при переходе

12 3
N
На сайте с 06.04.2011
Offline
53
2764

Есть меню на джейквери. При навидении на пункт выпадают подпункты.

При переходе по ссылке меню подпункта на новую страницу оно сворачивается. А как изменить код, чтобы сохранить развернутым подменю открытой страницы?


<div class="smenu">
<ul>
<li><a href="#"><img src="images/smenu1.jpg" alt="" /><span>Метал</span></a></li>
<li><a href="#"><img src="images/smenu6.jpg" alt="" /><span>Сантехника</span></a>
<ul>
<li><a href="#">Шумоглушители</a></li>
<li><a href="#">Дымососы</a></li>
<li><a href="#">Литература</a></li>
</ul></li>
<li><a href="#"><img src="images/smenu8.jpg" alt="" /><span>Водоочистка</span></a></li>
</ul>
</div>

в хеде код скрипта:


<script type="text/javascript">
jQuery(document).ready(function(){
jQuery('.smenu ul li').hover(
function() {
jQuery(this).find('ul').slideDown(90);
jQuery(this).addClass('menuactive');
},
function() {
jQuery(this).find('ul').slideUp(90);
jQuery(this).removeClass('menuactive');
}
);
});
</script>

ну и обычный джейквери подключен.

что добавить в скрипт нужно?

Грамотная верстка. Изготовление сайтов на базе CMS Joomla. (/ru/forum/897104)
C
На сайте с 04.02.2005
Offline
277
#1

кукисы? Не?

N
На сайте с 06.04.2011
Offline
53
#2
Chukcha:
кукисы? Не?

да подойдет любой рабочий способ, как это сделать растолкуйте нубу

C
На сайте с 04.02.2005
Offline
277
#3

Это не ко мне.

А может просто сегодня не твой день?

Станислав
На сайте с 27.12.2009
Offline
237
#4

можно чисто на js куки прописать, но будет не красиво, будет открываться только когда страница загрузиться, поэтому лучше сделать совместно с php.

JS записать куку при нажатии, например куку назвать menu, а в ней содержать id раздела. В php обработать меню и проверить наличие куки, если кука есть, найти id раздела и придать ему стиль (class) который откроет подменю независимо от js.

Ну а далее уже нужно думать удалять ли куку после просмотра раздела или нет.

Мы там, где рады нас видеть.
дани мапов
На сайте с 06.09.2012
Offline
204
#5

На PHP - все изменения в 5 строке, замените на ваши урлы.


<div class="smenu">
<ul>
<li><a href="#"><img src="images/smenu1.jpg" alt="" /><span>Метал</span></a></li>
<li><a href="#"><img src="images/smenu6.jpg" alt="" /><span>Сантехника</span></a>
<ul <?php echo in_array($_SERVER['REQUEST_URI'], array('/shumoglushiteli.html', '/dymososy.html', '/literatura.html')) ? 'class="menuactive" style="display:block"' : ''; ?>>
<li><a href="http://example.com/shumoglushiteli.html">Шумоглушители</a></li>
<li><a href="http://example.com/dymososy.html">Дымососы</a></li>
<li><a href="http://example.com/literatura.html">Литература</a></li>
</ul>
</li>
<li><a href="#"><img src="images/smenu8.jpg" alt="" /><span>Водоочистка</span></a></li>
</ul>
</div>
Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
N
На сайте с 06.04.2011
Offline
53
#6

дани мапов,

неужели рабочий вариант, с урлами я понял - заменил на свои урлы подпунктов...

с этой строчкой не разобрался:


<?php echo in_array($_SERVER['REQUEST_URI'], array('/shumoglushiteli.html', '/dymososy.html', '/literatura.html')) ? 'class="menuactive" style="display:block"' : ''; ?>
вставляю в хед, - не работает( куда её нужно вставить? (это меню вручную сверстано на шаблон джумла 2.5)
дани мапов
На сайте с 06.09.2012
Offline
204
#7

Ну по идее, просто добавить в шаблон надо, странно что не работает. А без слеша впереди ?

/shumoglushiteli.html

Станислав
На сайте с 27.12.2009
Offline
237
#8

это нужно к каждому пункту писать который необходимо раскрыть, но меню будет раскрыто независимо от того нажали на кнопку / ссылку в меню или нет. Будет сверять адреса и если есть совпадение то применять стиль.

N
На сайте с 06.04.2011
Offline
53
#9

дани мапов,

=/ и без слэша также ничего не происходит, работает как прежде при переходе на подпункт сворачивается и все..

Ms-Dred, спасибо за поддержку, я в джейквери совсем не силен... тут уже не слабо запутался

Станислав
На сайте с 27.12.2009
Offline
237
#10
nemartirosyan:
дани мапов,
=/ и без слэша также ничего не происходит, работает как прежде при переходе на подпункт сворачивается и все..

на страницу перейдите и откройте ее исходный код, если в меню не найдете

class="menuactive" style="display:block"

значит не пашет

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий