2010-08-10 111 views
0

我想創建帶有變量'頂部'高度的slidingUp div,以便一個div可以slideUp 700px,而另一個div(內容較少)slidesUp只有400px。目前,divs都在同一高度上滑動。在CSS中沒有div高度聲明。我的腳本:jquery重置和設置變量

$(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。

回答

2

您的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; 
} 
+0

唉,有什麼一個愚蠢的錯誤!謝謝:-) – circey 2010-08-10 23:11:56

+0

@circey - 不客氣。 :O) – user113716 2010-08-10 23:18:33