В настоящее время я настраиваю сайт WordPress, используя этот шаблон из ThemeForest, и вот live preview того, над чем я сейчас работаю (который теперь должен работать - сообщите мне, если он не работает).
Я настроил CSS так, чтобы левая граница при наведении указала на светло-серый цвет. Затем, когда ссылка была нажата, левая граница тогда будет выбранным синим цветом.
Как показано ниже, основная проблема, с которой я сталкиваюсь в навигации, - это CSS. В ссылке Портфолио (раздел Портфолио на картинке) по-прежнему применяется выбранный класс вместе с элементом внутреннего неупорядоченного списка. Я хотел бы, чтобы он выглядел как раздел блога на картинке, где ссылка в блоге больше не применяет выбранный элемент класса.
Я спросил создателя шаблона, почему это происходит; его ответ должен был быть другой ссылкой ниже, которая содержала атрибут title allportfolio, чтобы он работал правильно. Я попытался добавить этот атрибут к главной ссылке "Портфолио", но затем полностью закрыл список.
Когда меню создано, браузер создает выбор портфолио следующим образом в HTML:
<ul class="main-menu" id="menu-main-menu">
<li class="parent selected" id="menu-item-1172">
<p><a href="#" onclick="location.href='http://localhost/portfolio/'; return false;" style="color: rgb(57, 57, 57);">Portfolio</a></p>
<div>
<ul class="sub-menu">
<li class="menu-item" id="menu-item-1158"><p><a data-filter="website-design" data-category="true" href="#">Website Design</a></p></li>
<li class="menu-item" id="menu-item-1157"><p><a data-filter="print" data-category="true" href="#">Print</a></p></li>
<li class="menu-item selected" id="menu-item-1156"><p><a data-filter="motion" data-category="true" href="#">Motion</a></p></li>
<li class="menu-item" id="menu-item-1155"><p><a data-filter="identity" data-category="true" href="#">Identity</a></p></li>
<li class="menu-item" id="menu-item-1167"><p><a data-filter="logos" data-category="true" href="#">Logos</a></p></li>
</ul>
</div>
</li>
Я попытался сделать что-то похожее на этот ответ, но не работал, так как он не включал ничего в элемент списка. Следующий код jQuery ниже - моя попытка:
/*Portfolio links remove selected CSS setting*/
$('ul#menu-main-menu ul.submenu li p a').click(
function(){
$('ul#menu-main-menu li').removeClass('parent selected');
$(this).addClass('parent menu-item');
});
Я чувствую себя застрявшим, потому что не могу понять, как выглядит HTML ниже (выбирая класс CSS "selected" и добавляя элемент меню CSS "):
<ul class="main-menu" id="menu-main-menu">
<li class="parent menu-item" id="menu-item-1172">
<p><a href="#" onclick="location.href='http://localhost/portfolio/'; return false;" style="color: rgb(57, 57, 57);">Portfolio</a></p>
<div>
<ul class="sub-menu">
<li class="menu-item" id="menu-item-1158"><p><a data-filter="website-design" data-category="true" href="#">Website Design</a></p></li>
<li class="menu-item" id="menu-item-1157"><p><a data-filter="print" data-category="true" href="#">Print</a></p></li>
<li class="menu-item selected" id="menu-item-1156"><p><a data-filter="motion" data-category="true" href="#">Motion</a></p></li>
<li class="menu-item" id="menu-item-1155"><p><a data-filter="identity" data-category="true" href="#">Identity</a></p></li>
<li class="menu-item" id="menu-item-1167"><p><a data-filter="logos" data-category="true" href="#">Logos</a></p></li>
</ul>
</div>
</li>
ОБНОВЛЕНИЕ: ответ @limelights, похоже, сработал, но я нашел некоторый jQuery, который влияет на эффекты зависания ссылок на веб-сайте, и не был уверен, что именно по этой причине ответ на код не работал. файл scripts.js шаблона WordPress
/* Links roll over effect */
$('a').each(function(){
if(!$(this).data('filter') && !$(this).parent().parent().parent().hasClass('pagination'))
$(this).hoverFadeColor();
})
Кроме того, я очень близок к тому, что хочу выполнить, используя этот код, чтобы, наконец, открыть внутренние ссылки:
/*Portfolio links remove selected CSS setting*/
$('ul#menu-main-menu li div ul.sub-menu:first li.menu-item p a').click(
function(){
$('ul#menu-main-menu > li').removeClass('selected');
$('ul#menu-main-menu > li').css({'color' : '#222'}).addClass('menu-item');
$('ul#menu-main-menu li div:first').show();
});
Но то, что он все еще делает (как показано ниже), состоит в том, что он по-прежнему имеет текст, выбранный как выделенный текст.
Любая помощь очень ценится!