2016-08-24 3 views
0

У меня есть меню аккордеона слева на моей странице. Сегодня я заметил резко убывающие посещения, пытаясь найти проблему, и обнаружил, что мое меню перестало работать 3 недели назад. Он использовался, чтобы выпасть, когда я нажимал стрелку, и когда я нажимаю на меню с подменю, оно остается открытым с подсветкой в ​​родительском меню. Теперь, когда я нажимаю продукты, мое меню больше не рушится. Пытался сменить классы и связался с новейшей версией jQuery, но не работал. Пожалуйста, помогите мне в этом, или что заставило его внезапно перестать работать?Выпадающее меню перестало работать

My site with not working menu

Javascript

<script src="http://code.jquery.com/jquery-3.1.0.min.js" type="text/javascript"> 
(function($) { 
$(document).ready(function() { 
    $('#left li.menu-item-has-children').prepend('<span class="holder"></span>'); 
    $('#left li.menu-item-has-children > .holder').on('click', this, function(){ 
     var element = $(this).parent('li'); 
     if (element.hasClass('open')) { 
      element.removeClass('open'); 
      element.find('li').removeClass('open'); 
      element.find('ul').slideUp(); 
     } 
     else { 
      element.addClass('open'); 
      element.children('ul').slideDown(); 
      element.siblings('li').children('ul').slideUp(); 
      element.siblings('li').removeClass('open'); 
      element.siblings('li').find('li').removeClass('open'); 
      element.siblings('li').find('ul').slideUp(); 
     } 
    }); 
$('#left li.current-menu-item').addClass('open').children('ul').slideDown(); 
    }); 
})(jQuery); 
</script> 

CSS

.uslugi >a{ 
    color: #F00 !important; 
    font-size:16px !important; 
    border-bottom: 1px solid rgba(0, 0, 0, 0.04); 
} 
#left, 
#left ul, 
#left ul li, 
#left ul li a { 
    padding: 0; 
    list-style: none; 
    line-height: 1.5; 
    display: block; 
    position: relative; 
    cursor: pointer; 
    text-decoration: none; 
    color: #515151; 
    margin:0; 
    font-family: "Trebuchet MS", Helvetica, sans-serif; 
    font-size: 16px; 
} 
#left ul li a:hover{ 
color: #000; 
background-color: rgba(47, 139, 182, 0.1); 
} 
.widget.widget_nav_menu li:before{ 
    display: none; 
} 

#main-wrapper .widget li:hover{ 
    background:none; 
} 
#left ul ul { 
    display: none; 
    margin: 0 10px; 
} 
#left ul ul li a { 
    cursor: pointer; 
padding: 0 5px; 
z-index: 1; 
color: #344E83; 
background: -moz-linear-gradient(right, rgba(255,255,255,1) 0%, rgba(255,255,255,0.91) 98%, rgba(184,238,255,0.81) 100%); 
background: -webkit-gradient(right top, left top, color-stop(0%, rgba(255,255,255,1)), color-stop(98%, rgba(255,255,255,0.91)), color-stop(100%, rgba(184,238,255,0.81))); 
background: -webkit-linear-gradient(right, rgba(255,255,255,1) 0%, rgba(255,255,255,0.91) 98%, rgba(184,238,255,0.81) 100%); 
background: -o-linear-gradient(right, rgba(255,255,255,1) 0%, rgba(255,255,255,0.91) 98%, rgba(184,238,255,0.81) 100%); 
background: -ms-linear-gradient(right, rgba(255,255,255,1) 0%, rgba(255,255,255,0.91) 98%, rgba(184,238,255,0.81) 100%); 
background: linear-gradient(to left, rgba(255,255,255,1) 0%, rgba(255,255,255,0.91) 98%, rgba(184,238,255,0.81) 100%); 
} 
#left .menu-item-has-children > a:after { 
    content: ""; 
border-right: 10px solid transparent; 
border-left: 10px solid transparent; 
margin: 10px 13px 0 0; 
border-top: 6px solid #5F5F5F; 
position: absolute; 
right: 0; 
top: 0; 
    } 
.holder{ 
border: 1px solid rgba(0, 0, 0, 0.14); 
padding: 11px 26px; 
z-index: 8; 
position: absolute; 
margin: 1px -3px 0 0; 
right: 0; 
background: none; 
    } 
.holder:hover { 
    background: rgba(47, 139, 182, 0.1); 
} 
#left ul li.open > a, 
#left ul li.active > a, 
#left ul ul li:hover > a, 
#left ul ul li.open > a, 
#left ul ul li.active > a, 
.current-page-ancestor a { 
color: #4686E6; 
background-color: rgba(47, 139, 182, 0.2); 
} 
#left ul ul li:first-child > a { 
    box-shadow: none; 
} 

#left ul ul ul li a { 
    padding-left: 30px; 
} 
@media (min-width:768px) and (max-width:979px){ 
     .span3{ 
     width:186px; 
     margin-left:0; 
    } 
} 
+0

Можете ли вы предоставить html? Вы имеете в виду меню слева, да? –

+0

Да его слева. – KwS

ответ

2

Ваш скрипт не работает из-за проблемы HTML разметки (тег скрипта) Проверьте это с поджигателем> сценарий > inline по строке 444:

<script src="http://code.jquery.com/jquery-3.1.0.min.js" type="text/javascript">(function($) { $(document).ready(function() {

т.д.

Вы должны закрыть тег сценария, а затем открыть новый один:

<script src="http://code.jquery.com/jquery-3.1.0.min.js" type="text/javascript"</script><script>(function($) { $(document).ready(function() { .... </script>

+0

Спасибо за внимание, я изменил его раньше от отдельных блоков до одного, как вы указали на него, но забыл изменить его снова. Теперь мне понравилось, что я сказал, и он все еще не работает. Когда я нажимаю на продукт в центре страницы, он выделяет только родительское меню, но не рушится, как раньше. – KwS

+0

попробуйте положить открывающий тег

0

Кажется, что ваш селектор не имеет ни одного матча:

#left li.menu-item-has-children > .holder 

Я не вижу ваш класс держателя внутри l Определение i.menu-item-have-children. И похоже, вы должны добавить держатель класс на ваш <a> элемент.

Пожалуйста, дайте мне знать, если это поможет.

+0

добавление статичного не будет работать, проблема заключается в том, что сценарий не работает – yezzz

+0

Можете ли вы попытаться отключить плагин с возможностью автоопределения и посмотреть, помогает ли он. Также попробуйте проверить , если $ (document) .ready (function() {...}) получил название – Vahan

Смежные вопросы