2012-02-05 48 views
0

我不是最好的jQuery(也不是英語),但我想學習它。所以,我想製作一個slideUp和slideDown按鈕。但它只是做「slideDown」。SlideDown/Up不起作用

$(".toggle").click(function() { 
    $(".shownDesc").slideUp("slow", function() { 
     removeClass(".shownDesc") 
     }); 

    $(".showDIV").slideDown("slow", function() { 
     addClass(".shownDesc") 
     }); 
    }); 

.toggle是我的內容DIV和「showDIV」是我的內在。

當我按下「.toggle」類時,應該打開「showDIV」。但它不想slideUp「showDIV」 - 元素。

<div class="toggle">Show text!</div> 
    <div class="showBack"> 
     Normal text. 
    </div> 

    <div class="toggle">Show other text!</div> 
    <div class="showBack"> 
     Other text. 
    </div> 

也許你會需要這個HTML代碼;)

+0

您不必具有shownDesc或showDIV類中的任何股利,這就是爲什麼它不工作 – 2012-02-05 16:51:36

回答

1

當您點擊HTML上的.toggle對象時,此代碼將使兩段文本切換。沒有必要添加/刪除類:

$(".toggle").click(function() { 
    $(this).next(".showBack").slideToggle(); 
}); 

此使用的slideToggle()方法的效果基本show或了slideDown取決於先前的狀態,這會自動執行。

它還會自動在.toggle類之後找到下一個項目(帶有.showBack類),並將幻燈片操作應用於該元素。

你可以看到它在這裏工作:http://jsfiddle.net/jfriend00/z9Afs/

+0

這麼簡單?哦謝謝 ! – 2012-02-05 17:01:22

1

使用jQuery .slideToggle可能是在這種情況下,更好的選擇。

http://api.jquery.com/slideToggle/

例子:

$(".toggle").click(function() { 
    $(".showDIV").slideToggle("slow"); 
}); 

我可能需要一些進一步的解釋,以準確地編寫代碼爲您服務。