2009-10-25 2 views
0

ok, im, пытающийся оживить что-то на разные высоты, если выбранный идентификатор имеет выбранный класс. У меня есть следующий код.если цепочки цепочки?

function myfunction() { 


    if ($('#homebutton').hasClass("active")); 
    { 
    $('#content').animate({height: "240px",opacity: 1}, 100 , hideLoader()); 
    } 

    if ($('#showbutton').hasClass("active")); 
    { 
    $('#content').animate({height: "79px",opacity: 1}, 200 , hideLoader()); 
    } 

    if ($('#aboutbutton').hasClass("active")); 
    { 
    $('#content').animate({height: "527px",opacity: 1}, 300 , hideLoader());} 

    if ($('#contactbutton').hasClass("active")); 
    { 
    $('#content').animate({height: "1040px",opacity: 1}, 400 , hideLoader()); 
    } 
} 

, что не цепочки анимации после того, как друг с другом, независимо от того, что я нажимаю он заканчивает тем, что 1040px высоко, что я делаю неправильно ??

попытался изменить его

{if ($('#homebutton').hasClass("active")); 
$('#content').animate({height: "240px",opacity: 1}, 100 , hideLoader()); 
} 

с абсолютно никакого эффекта

+0

2 минуты я думал, что вы хотели сделать с цепочкой, если заявления! – mauris

ответ

5

Вы разделяющей если заявления от кода на следующей строке. Единственное, что вы выполняете, когда условие истинно, - это пустой оператор.

Изменить это:

if ($('#homebutton').hasClass("active")); 

в:

if ($('#homebutton').hasClass("active")) 

и то же самое для трех других.

+0

такое маленькое изменение, огромная разница! проблема решена, спасибо мат. – casben79

+0

Хороший улов. На стороне примечания, мне смешно, что ** включение ** в виде двоеточия в конце строки было корнем проблемы. –

0

Вы можете очистить, что до много, пользуясь приятным языка, Javascript является:

$.each({ 
    '#homebutton': { height: '240px', speed: 100 }, 
    '#showbutton': { height: '79px', speed: 200 }, 
    '#aboutbutton': { height: '527px', speed: 300 }, 
    '#contactbutton': { height: '1040px', speed: 400 } 
}, function(selector, controls) { 
    if ($(selector).hasClass('active')) 
    $('#content').animate({height: controls.height, opacity: 1}, controls.speed, hideLoader()); 
}); 
+0

намного лучше, ура! – casben79

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