Как создать переключатель или закрыть div?

0

Я ищу, чтобы переключиться на содержимое div. Я могу показать это, но я не могу понять, как скрыть это снова, и я совершенно не знаком с JS и JQ.

Вот моя скрипка. http://jsfiddle.net/Thelawman/3f9Le/

<div class="action" data-content="#content1">
            About
        </div>
        <div class="content" id="content1">
        Here is my blurb...An amazing blurb<br>
        Blah Blah Blah Blah Blah Blah<br>
        TBlah Blah Blah Blah Blah Blahy<br>
        Blah Blah Blah Blah Blah Blah
        </div>

$("div.action").click (function(){
        var $this = $(this);
        var target = $this.data('content');
        $('div.action').not($this).each(function(){
           var $other = $(this);
           var otherTarget = $other.data('content');
           $(otherTarget).hide();        
        });

        $(target).fadeIn({height: "toggle"}, 1000);

    });

Если у кого-то есть более чистый код или лучший метод, чем у меня, у меня все уши.

Спасибо заранее

  • 0
    Вы хотите скрыть и показать содержимое по клику?
Теги:
drop-down-menu
toggle
hide

3 ответа

1
Лучший ответ

Хорошо использовать код

$("div.action").click (function(){
        $("#content1").fadeToggle();
    });

Рабочая скрипка [FIDDLE] [1] [1]: http://jsfiddle.net/3f9Le/1/

Здесь, когда нажата кнопка DIV, содержащая действие класса, вы показываете, контент. Если он первый раз, еще во второй раз, нажмите "Скрыть", "Снова на 3-м щелчке мыши", скройте 4-й щелчок, Так что последовательность продолжается.

  • 0
    Спасибо, Пратик работал отлично!
  • 0
    Пожалуйста, примите ответ. если это удовлетворяет вашему требованию. :)
0

Чтобы использовать атрибут data-content используйте следующее:

$("div.action").click (function(){
        var $this = $(this);
        var target = $this.data('content');
        $(target).fadeToggle(200);
});

http://jsfiddle.net/3f9Le/3/

  • 0
    Это тоже отлично сработало ... Спасибо за помощь
0

Попробуйте это для своего JQuery.

$("div.action").click (function(){

if ($(".content").is(":visible")) {

    $(".content").fadeOut("slow");

}
else {

    $(".content").fadeIn("slow");

}

});
  • 0
    Я думаю, что лучше использовать чистый 1-строчный код.
  • 0
    @PratikJoshi Если переключение элемента - это все, что вам нужно сделать, тогда да, я согласен. Однако могут быть некоторые другие вещи, которые вы хотели бы сделать при показе / скрытии элемента.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню