2011-07-14 41 views
0

我似乎無法得到這個。其他人的例子或問題使用不同的功能或不是高度可變的。此外,他們都是同一類,所以我的另一個問題是添加ID到這個混亂....這被說是我很卡住。我接受任何我能得到的建議。謝謝你的幫助。jquery多個,可變高度的div,顯示和隱藏

$(function(){ 
    var slideHeight = 36; // px 
    var defHeight = $('.jswrap').height(); 
    if(defHeight >= slideHeight){ 
     $('.jswrap').css('height' , slideHeight + 'px'); 
     $('.jsreadmore').append('<a href="#">Read More</a>'); 
     $('.jsreadmore a').click(function(){ 
      var curHeight = $('.jswrap').height(); 
      if(curHeight == slideHeight){ 
       $('.jswrap').animate({ 
        height: defHeight 
       }, "normal"); 
       $('.jsreadmore a').html('Close'); 
      }else{ 
       $('.jswrap').animate({ 
        height: slideHeight 
       }, "normal"); 
       $('.jsreadmore a').html('Read More'); 
      } 
      return false; 
     }); 
    } 
    }); 

標記:

<div class="jscontainer"> 
    <h4>title</h4> 
     <div class="jswrap"> 
     <p>Content</p> 
     </div> 
</div> 

<div class="jscontainer"> 
    <h4>title2</h4> 
     <div class="jswrap"> 
     <p>Content</p> 
     </div> 
</div>   

here is the problem

+3

究竟什麼是你的問題在這裏的多張幻燈片? – Jrod

+0

我點擊打開第一個div,它們全部打開。我只在HTML標記中發佈其中的一個......我的錯。所有其他divs大致相同。 – visyoual

+0

這裏它是全力:(不是我的內容的選擇,但...) http://www.doctorhtiller.com/procedures.html – visyoual

回答

0

這是你正在做的事情:http://jsfiddle.net/5VdBk/

是否需要使用多張幻燈片?

編輯 注意到編輯質疑提多張幻燈片後:

更新版本應該處理各種不同內容的大小 http://jsfiddle.net/5VdBk/1/

+0

是的,但應該有多個div打開和關閉。我可以在CSS中將目標定位在正確的位置......我在JS中嘗試做的所有事情都會中斷事件..感謝您的幫助 – visyoual

+0

@Jeremey,您是否看到我答案中的第二個鏈接?它有多個div在那裏工作。我改變了這一點,因爲我沒有CSS,但理論應該很容易轉移。你還有這個問題嗎? – lnrbob

+0

就是這樣!謝謝。所以你剛剛添加了「each」,然後添加了「.next()。children('a')」來定位div的錨點?這不需要使用ID的? – visyoual

0

你的代碼中有一個問題:defHeight是euqal 20等第一,如果始終是假的,什麼都不會發生,因爲defHeight> = slideHeight總是假的。

當你得到這個權利,你不應該這樣做:

$('.jsreadmore a').click(function(){ 

但這

$('.jsreadmore a').live('click', (function(){ 

,因爲「A」是創建和綁定在新創建的事件DOM之後附加你需要使用的元素生活

看這個基本的小提琴http://jsfiddle.net/FmzBP/1/

+0

您如何知道defHeight是20?我沒有看到足夠的信息來做出這個決定。 –

+0

我不認爲這是一個安全的假設;另外你不需要使用live,因爲你在元素添加後綁定事件(儘管在創建dom之後)。 – lnrbob

+0

唯一能夠看到的就是滑動高度。如果我看着你是同一件事。 defHeight應該由.jswrap div控制......對吧? – visyoual