Я использую jquery для переключения ul
, когда нажата кнопка li
. Я бываю так, как я ожидаю. Но поскольку я дал привязку a
тег для li
при щелчке по адресу li
Он перезагружает и открывает url
, упомянутый в теге привязки. Таким образом, ul
, который был открыт с помощью toggle
, автоматически закрывается.Как сохранить содержимое переключателя открытым даже после перезагрузки страницы?
Мой JQuery Фрагмент кода:
<script>
var $j = jQuery.noConflict();
$j(function() {
$j('li.level1').click(function() {
$j('ul.level1:visible').hide();
$j('ul.level1', this).toggle();
});
});
</script>
Мой HTML является:
<ul class="level0">
<li class="level1">
<a href="#">Toggle</a>
<ul class="level1" style="display:none;">
<li class="level2"><a href="http://127.0.0.1/magento_1.9.2.4/collection/shop-by-collection.html">Level2</a></li>
<li class="level2"><a href="http://127.0.0.1/magento_1.9.2.4/collection/shop-by-feature.html">Level2</a></li>
<li class="level2"><a href="http://127.0.0.1/magento_1.9.2.4/collection/shop-all.html">Level2</a></li>
</ul>
</li>
<li class="level1">
<a href="#">Toggle</a>
<ul class="level1" style="display:none;">
<li class="level2"><a href="#">Level2</a></li>
<li class="level2"><a href="#">Level2</a></li>
<li class="level2"><a href="#">Level2</a></li>
</ul>
</li>
<li class="level1">
<a href="#">Toggle</a>
<ul class="level1" style="display:none;">
<li class="level2"><a href="#">Level2</a></li>
<li class="level2"><a href="#">Level2</a></li>
<li class="level2"><a href="#">Level2</a></li>
</ul>
</li>
</ul>
Ниже на самом деле мой PHTML откуда генерируется HTML:
<ul class="level0">
<?php foreach ($cats as $cat): ?>
<li class="level1">
<a href= "<?php echo $_helper->getCategoryUrl($cat) ?>" >
<?php echo $cat->getName() ?>
</a>
<?php $_category = Mage::getModel('catalog/category')->load($cat->getId()) ?>
<?php $_subcategories = $_category->getChildrenCategories() ?>
<?php if (count($_subcategories) > 0): ?>
<ul class="level1" style="display:none;">
<?php foreach($_subcategories as $_subcategory): ?>
<li class="level2">
<a href="<?php echo $_helper->getCategoryUrl($_subcategory) ?>">
<?php echo $_subcategory->getName() ?>
</a>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
Я хочу, чтобы ul
выбранных li
, которые должны быть открыты, даже если страница reloa или обновлен.
Попробуйте добавить ваш HTML или лучше, добавить jsfiddle или фрагмент ;-D – shramee
@ShrameeSrivastav Я обновленное мой вопрос. – Ramya
Вы можете сохранить состояние меню в файле cookie или локальном хранилище, чтобы убедиться, что он будет доступен после перезагрузки, а затем проверьте это состояние на загрузке страницы, чтобы восстановить статус меню. – mdameer