Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   В чем проблема?Щ_щ (https://javascript.ru/forum/misc/52473-v-chem-problema-shh_shh.html)

sav-oks 20.12.2014 22:05

В чем проблема?Щ_щ
 
Всем доброго времени суток.

Написал код, по событию 'click' проверяется наличие класса у 'nav#menu_left>div>span>span'. Если 'false', то добавляется класс 'roll_up' к 'nav#menu_left>div>span>span' и происходит смена стилей 'ul' и 'li' в сестринских элементах 'ul' по отношению к 'nav#menu_left>div>span>span', если 'true' происходит обратное. Но вот проблема, код не работает. Где может быть ошибка?

$('nav#menu_left>div>span>span').click(function() {
if ( $(this).hasClass('roll_up') == false ) {
$(this).addClass('roll_up'),
$('nav#menu_left>div:hover>span+ul').css('padding-bottom','4px'),
$('nav#menu_left>div:hover>span+ul>li:not(.pynkt_r azdela_active_ml)').css('position','absolute')
} if ( $(this).hasClass('roll_up') == true ) {
$('nav#menu_left>div:hover>span+ul').css('padding-bottom','5px'),
$('nav#menu_left>div:hover>span+ul>li').css('posit ion','relative'),
$(this).removeClass('roll_up')
}
});

Malleys 20.12.2014 23:12

$('nav#menu_left>div>span>span').click(function() {
  if($(this).hasClass('roll_up') == false ) {
    $(this).addClass('roll_up');
    $('nav#menu_left>div:hover>span+ul').css('padding-bottom','4px');
    $('nav#menu_left>div:hover>span+ul>li:not(.pynkt_razdela_active_ml)').css('position', 'absolute'); 
  } else {
    $('nav#menu_left>div:hover>span+ul').css('padding-bottom','5px');
    $('nav#menu_left>div:hover>span+ul>li').css('position', 'relative');
    $(this).removeClass('roll_up');
  }
});

Не нужно было
Код:

if($(this).hasClass('roll_up') == true )
, поскольку оно всегда истинно, если добавить или имеется .roll_up у span

sav-oks 20.12.2014 23:18

Действительно, недодумал. Спасибо!


Часовой пояс GMT +3, время: 16:56.