2013-04-10 2 views
0

Мне нужно два изменения в следующем коде jquery. (DEMO is here)JQuery Accordion Дополнительные требования

  1. Я хочу скопировать (скрыть) абзац, когда я нажимаю на тесную ссылку внутри параграфа.
  2. Активный класс (значки стрелок) должен работать правильно, когда я сдвигаю вверх/вниз по любому абзацу. Если вы заметили, направление стрелок становится сумасшедшим (∧ вверх, ∨ вниз, ∧ вверх), когда я открываю оба абзаца. Указатель стрелки должен быть вниз (∨), когда пара закрыта, и если стрелка открыта должна быть указана вверх (∧).

Ниже мой код

$(document).ready(function(){ 
    $(".accordion p").hide(); 

    $(".accordion h3").click(function(){ 
     $(this).next("p").slideToggle("fast") 
     $(this).toggleClass("active"); 
     $(this).siblings("h3").removeClass("active"); 
    }); 
}); 

Заранее спасибо

ответ

1

Это может помочь вам, если вы хотите открыть несколько абзацев один раз.

$(document).ready(function(){ 
    $(".accordion p").hide(); 

    $(".accordion h3").click(function(){ 
     $(this).next("p").slideToggle("fast") 
     $(this).toggleClass("active"); 
    }); 

    $(".mylink").click(function(){ 
     $(this).parent('p').prev().trigger('click'); 
    }); 
}); 

Отметьте fiddle для демонстрации.

+0

Отлично, это то, что я хочу. Большое спасибо Dude :) –

+0

Добро пожаловать. –

0

С немного больше работы, я уверен, что вы могли бы сделать это в ближайшее время по своему усмотрению!

LIVE DEMO

$(function(){ 
    $(".accordion p").hide(); 

    $(".accordion h3").click(function(){ 
     $(this).next("p").slideToggle("fast").siblings('p').slideUp("fast"); 
     $(this).toggleClass("active").siblings("h3").removeClass("active");    
    }); 

    $('.accordion a.mylink').click(function(e){ 
     e.preventDefault(); 
     $(this).closest('p').slideToggle("fast").prev('h3').removeClass("active");   
    }); 
});