所以我正在使用手风琴式菜单(我想这是正确的术语)。我相信这里的独特难点在于我使用的是Lemonstand的集成式CMS系统,这是一种祝福和噩梦。我不确定有多少人会熟悉lemonstand的API以及所有这些,但我想我会先在这里寻找帮助。
我要做的是点击后保持“下拉列表”打开。使用的JS如下:
<script>
function initMenu() {
$('#menu ul').hide(); // Hide the submenu
if ($('#menu li').has('ul')) $('#menu ul').prev().addClass('expandable'); // Expand/collapse a submenu when it exists
$('.expandable').click(function(e) { // Prevent Default
e.preventDefault();
$(this).next().slideToggle();
$(this).toggleClass('expanded');
}
);
}
// When document ready, call initMenu() function
$(document).ready(function() {initMenu();}); </script>
我确信这很容易,但就js而言,我对整个事情都很陌生。
<? $category_listing = isset($parent) ? $parent->list_children('front_end_sort_order') : Shop_Category::create()->list_root_children('front_end_sort_order'); ?>
<? if ($category_listing->count()): ?>
<? if (!isset($parent)): ?>
<nav>
<ul id="menu">
<? else: ?>
<ul>
<? endif ?>
<? foreach ($category_listing as $_category): ?>
<li<?= (isset($category) && $category->id == $_category->id) ? ' class="current"' : '' ?>>
<a href="<?= $_category->page_url('bifrost-sandbox/category') ?>"><?= h($_category->name) ?></a>
<? $this->render_partial('sandbox:temp', array('parent' => $_category)) ?>
</li>
<? endforeach ?>
</ul>
<? if (!isset($parent)): ?>
<nav>
<? endif ?>
<? endif ?>
如果有人可以帮助我,我会非常感激。