Не удается получить раскрывающееся меню в Wordpress 3 - PullRequest
0 голосов
/ 07 марта 2012

Я разработал довольно простую пользовательскую тему для Wordpress и пытаюсь реализовать раскрывающееся меню для моей основной навигации. Я настроил структуру навигации с использованием CSS и небольшого количества JQuery. Он отлично работает, когда я тестирую его на статической HTML-странице, но когда я реализую его в WP, подменю не отображается.

Вот CSS для навигации:

#topnav { clear:both ; width:1000px ; height:52px ; margin:auto ; background:url(images/topnav-bg.png) repeat-x ; position:relative ; top:0px ; right:0px ; z-index:9999 }

.jsddm
{   margin: 0;
padding: 0 ;
float:right ;
}

.jsddm li
{   float: left;
list-style: none;
font: 20px Tahoma, Arial;
margin-right:35px ;
margin-bottom:15px }

.jsddm li a
{   display: block;
color: #ffffff;
white-space: nowrap}

.jsddm li a:hover
{color:#6ec7fb}

.jsddm li a:active
{color:#6ec7fb}

li.current_page_item a { color:#6ec7fb }

.jsddm li ul
{   margin: 0;
    margin-top:-1px ;
    position: absolute;
    visibility: hidden;}

.jsddm li ul li
{   float: none;
    display: inline}

.jsddm li ul li a
{   width: auto;
    background: #002D56 ;
    color:#ffffff ;
    font-size:16px ;
    line-height:20px ; 
    padding:5px}

.jsddm li ul li a:hover
{   background: #015098 ;
color:#ffffff }

и вот Javascript:

var timeout    = 500;
var closetimer = 0;
var ddmenuitem = 0;

function jsddm_open()
{  jsddm_canceltimer();
   jsddm_close();
   ddmenuitem = $(this).find('ul').css('visibility', 'visible');}

function jsddm_close()
{  if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}

function jsddm_timer()
{  closetimer = window.setTimeout(jsddm_close, timeout);}

function jsddm_canceltimer()
{  if(closetimer)
   {  window.clearTimeout(closetimer);
      closetimer = null;}}

$(document).ready(function()
{  $('.jsddm > li').bind('mouseover', jsddm_open)
   $('.jsddm > li').bind('mouseout',  jsddm_timer)});

document.onclick = jsddm_close;

Сайт (в разработке) находится здесь: http://s3.mynewsitereview.com/

1 Ответ

0 голосов
/ 07 марта 2012

Функция не выполняется.Вы можете увидеть это в Firebug, главным образом потому, что CSS, добавленный через Jquery, добавляется в строку, и когда вы наводите курсор, ничего не происходит.Проблема в селекторе.jsddm - это div, а li не является прямым ребенком.Попробуйте:

$('.jsddm > ul > li')

Я не пробовал, но так и должно быть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...