сброс jquery и установка переменных - PullRequest
0 голосов
/ 11 августа 2010

Я пытаюсь создать div для SlipUp с переменной высотой 'top', чтобы один div мог скользить до 700 пикселей, а другой (с меньшим содержанием) - до 400.В настоящее время divs все slideUp на одной высоте.В CSS нет объявлений высоты div.Мой сценарий:

$(document).ready(function(){          
            var oldHeight;  
    $('a.menubtn').click(function(){              
            var newHeight;
            if ($(this.id) == 'work') {
                  newHeight = 700;  
                  }
                  else { if ($(this.id) == 'services') {
                      newHeight = 400;
                  }
                  else { if ($(this.id) == 'about') {
                      newHeight = 400;
                  }
                  else {
                      newHeight = 300;
                  }
                  }
                  }

            if ($('.active').length > 0) {

                $('.active').removeClass('active').animate({'top': '+=' + oldHeight + 'px'}, '200');
                $('div#contents_'+ this.id).addClass('active').animate({'top': '-=' + newHeight + 'px'}, '200');
                oldHeight = newHeight;
                }
                else 
    $('div#contents_'+ this.id).addClass('active').animate({'top': '-=' + newHeight + 'px'}, '200');
                oldHeight = newHeight;
                }
    return(false);
    });               
})

TIA.

1 Ответ

2 голосов
/ 11 августа 2010

Ваши if утверждения неверны.

Это:

$(this.id) == 'work'  // here you're comparing a jQuery object to 'work'

должно быть:

this.id == 'work'     // here you're comparing the actual ID value to 'work'

Было бы чище, если бы вы изменили структуруif операторы должны быть такими:

if (this.id == 'work') {
    newHeight = 700;  
} else if (this.id == 'services') {
    newHeight = 400;
} else if (this.id == 'about') {
    newHeight = 400;
} else {
    newHeight = 300;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...