Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 18.04.2011, 21:04
Аспирант
Отправить личное сообщение для kiff86 Посмотреть профиль Найти все сообщения от kiff86
 
Регистрация: 26.03.2011
Сообщений: 52

Matre,
Что-то не пойму код..

$("#menu td:not(#add_cook)").each(function(){
       $(this).parent().one("click",function(event){ // добавление
        if(event.target == $(this)...){ // тут не понятно как сравнить элемент parent с тем на который кликнули...
        $(this).one("click", function(){
            $("#menu td:not(#add_cook)").not($(this)).css('backgroundColor','');
            $(this).css('backgroundColor','#740D13');
            $id = $(this).attr('id');
            $("#text").hide("drop",{direction: 'left'},600,function(){
                $(this).load("php/"+$id+".php",function(){
                    $(this).width(760);
                    $conH = $(this).height();
                    if($("#content").height() == $conH){$time = 0;}
                    else{$time = 1000;}
                    var self = $("#content"), callee = arguments.callee;
                    self.animate({'height':$conH},$time,function(){
                        $("#text").show("drop",{direction: 'right'},400);
                        self.one("click", callee);
                    });
                });
            });
        });
}
});
    });


как-то так что ли?
Ответить с цитированием
  #12 (permalink)  
Старый 19.04.2011, 04:26
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

Цитата:
тут не понятно как сравнить элемент parent с тем на который кликнули...
$(event.target).is("#id.myclass") // например


Что-то у Вас в коде много лишнего. Я сделал свой набросок:

$("#parent").one("click", function (event) {
		var callee = arguments.callee;
		if ($(event.target).is(".section")) {
			$(event.target).animate({...}, 1000, function () {
				$("#parent").one("click", callee);
			});
		}
	});
});


#parent — общий "родитель" для всех обрабатываемых элементов
.section — сам элемент, кот. нужно обработать

Последний раз редактировалось Matre, 19.04.2011 в 04:32.
Ответить с цитированием
  #13 (permalink)  
Старый 19.04.2011, 14:57
Аспирант
Отправить личное сообщение для kiff86 Посмотреть профиль Найти все сообщения от kiff86
 
Регистрация: 26.03.2011
Сообщений: 52

Спасибо огромное! Буду пробовать!
P.s. то есть метод each уже не нужен получается..

блин, тут получается, что анимате идет для элемента меню (так как на него кликают) .. а мне-то нужно так:
кликаем на пункт меню, начинает анимироваться другой элемент, и пока он до конца не дойдет блокировать другие пункты меню...

Последний раз редактировалось kiff86, 19.04.2011 в 15:20.
Ответить с цитированием
  #14 (permalink)  
Старый 19.04.2011, 17:20
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

Ну так замените $(event.target) из 4-ой строчки на нужный Вам элемент.
Ответить с цитированием
  #15 (permalink)  
Старый 19.04.2011, 22:21
Аспирант
Отправить личное сообщение для kiff86 Посмотреть профиль Найти все сообщения от kiff86
 
Регистрация: 26.03.2011
Сообщений: 52

Matre,
только что попробовал.. чутка еще подправил код и - ура - все заработало! Огромное спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по учебнику Invis1ble Сайт Javascript.ru 12 21.03.2011 20:06
Как реализована animate()? балерун jQuery 7 17.03.2011 03:22
Вопрос по замыканиям Goodfella Общие вопросы Javascript 20 09.03.2011 01:21
jQuery, функция animate(), рекурсия xintrea jQuery 12 03.01.2011 12:33
Теоретический вопрос. gods33 (X)HTML/CSS 10 16.12.2010 23:49