Все дивы возвращаются по умолчанию, кроме активного jQuery - PullRequest
0 голосов
/ 14 сентября 2011

Хорошо, вот мой сценарий.

Когда вы нажимаете кнопку «Узнать больше», она соответствует этой конкретной ячейке и соответственно отображает нужную информацию.

Я хочу добавить функцию, поэтому, когда вы нажимаете на ДРУГОЕ, узнайте больше, и уже есть div, открытый с информацией, он закрывается как хвостовой конец переключателя в этом скрипте.

В сущности, я не хочу, чтобы два человека узнали больше одновременно. Если вы выберете один, то все остальные из них закрыты. При настройке страницы я могу открыть только одну страницу за раз.

$(document).ready(function(){ 


 var service = $(".service"), text = $(".service-text, h1.service-heading"), moretext = $(".more-text"); 


$(".learn").toggle(
               function()
               {
                $(this).parent().find(service).animate({ backgroundColor : "#000000" }, 800);
                $(this).animate({ backgroundColor : "#FFFFFF" }, 800);
                $(this).parent().find(text).animate({ color: "#FFF"}, 800);
                $(this).parent().find("span.more").animate({ color : "#000000" }, 800, function () {
                    $(this).parent().parent().find(".service").animate({ height : "500px"}, 800, function () {
                            $(this).find(moretext).show().animate({ color: "#FFFFFF"}, 800);

                            $(this).parent().find("span.more").animate({ color : "#FFF"}, 800, function () {
                                                                                                         $(this).hide();
                                                        $(this).parent().find("span.less").show( function () {
                                                                                                           $(this).animate({ color: "#000000"}, 800);
                                                                                                         });
                                                                                                         });
                                                                                                           });
                                                                                                 });
               },
               function()
               {
                $(this).parent().find(service).animate({ backgroundColor : "#FFFFFF" }, 800, function () {
                            $(moretext).animate({ color: "#FFFFFF"}, 800, function () {
                                                                                    $(this).hide();
                                                                                                       });
                             });
                $(this).animate({ backgroundColor : "#000000" }, 800);
                $(this).parent().find(text).animate({ color: "#000000"}, 800);
                $(this).parent().find("span.less").animate({ color: "#FFFFFF"}, 800, function() {
                    $(this).parent().parent().find(service).animate({ height: "180px"}, 800, function () {
                                        $(this).parent().find("span.less").animate({ color: "#000000"}, 800, function () {
                                                                                                                       $(this).hide();
                                                            $(this).parent().find("span.more").show( function () {
                                                                                                           $(this).animate({ color: "#FFFFFF"}, 800);
                                                                                                                       });
                                                             });
                                                                                                       });
                                                                                              });





                   });
   });

Ответы [ 2 ]

1 голос
/ 14 сентября 2011

вы можете сделать это таким образом

$(".learn").click(function(){
    $(".learn").not(this).doSomeThing(/* some code */);
});

с помощью этого кода вы можете исключить текущий выбранный элемент из набора

0 голосов
/ 14 сентября 2011

Псевдокод:

  • Дайте всем относительным элементам div специальное имя класса
  • Разделите вашу функцию "close" в хвостовой части переключателя на отдельную функцию, сделайте так, чтобы она не закрывала div с классом "active"
  • Настройка прослушивателя для нажатия на дополнительные сведения, которые добавляют класс «активный» к объекту, по которому щелкают, и затем вызывают эту функцию закрытия для всех (других) дивов перед выполнением своего действия
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...