0

私はカスタムアコーディオンスクリプトを持っています - http://jsfiddle.net/nJpNb/2/

私ができるようにしたいのは、$(".more") がクリックされたときに前/次の div を非表示にすることです。現在、すべてのパネルが開いたままなので、スクリプトはほとんど機能します。

ここで何か助けていただければ幸いです。

ありがとう

4

3 に答える 3

0

追加するだけ

$(".newsBody").hide();
$('.newsTeaser').show();

の最初の行に$(".more").click(function() {

デモ:http://jsfiddle.net/nJpNb/5/

ただし、アイテムをキャッシュしてください。

于 2012-04-04T20:18:55.860 に答える
0

.more以下のように、クリック内に2行以下を追加してみてください。

//hide all others and show newsTeaser
$newsItem.find('.newsBody').hide();
$newsItem.find('.newsTeaser').show();

デモ

完全なコード:

$(".newsBody").hide();
var $newsItem = $('.newsItem');
$(".more").click(function() {

    //hide all others and show newsTeaser
    $newsItem.find('.newsBody').hide();
    $newsItem.find('.newsTeaser').show();

    var $parent = $(this).parent();
    $parent.hide();
    $parent.parent().find(".newsBody").show();
});
$(".less").click(function() {
     var $parent = $(this).parent();
    $parent.hide();
    $parent.parent().find(".newsTeaser").show();

});
于 2012-04-04T20:20:07.047 に答える
0

各セクションにIDを設定します(したがって、セクションにはクラスとIDがあります)。次に、誰かがセクション2を選択すると、セクション1と3が自動的に非表示になります。

于 2012-04-04T20:20:35.627 に答える