Javascript.RU

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

jQuery.ajax() подгрузка данных и событие .click()
Добрый день! Никак не могу разобрать с проблемой: для начала обрисую мою "структуру":

есть элемент (ссылка в диве) при нажатии -> идет анимация другого дива и в нем подгружается php страница аяксом. Также появляется еще одна ссылка в диве, которая делает обратные действия, кроме аякса.. Данные подгруженные аяксом она просто стирает методом .remove()..
Проблема в том, что при повторном нажатии начинаются непонятные действия.. такое чувство, что скрипт(или браузер) забывают про аякс и ваще начинают выполнять скрипты "вразнобой"...
вот код моего скрипта...

$(".altitle .view").click(function(){
        $(this).parent().parent().attr('id','select');
        $("#select").find(".back a").fadeIn(1000);
        $albumName = $("#select .view a").html();
        $imgsInAlbum = $("#select .data").html().slice(-2);
        $albumWidth = $("#select table td:visible").length;
        $tableWidth = $("#select").find("table").width();
        $previewHeight = $("#select").find(".preview").height();
        $("#select .preview").css('height',$previewHeight);
        $("#select").find("table").fadeOut(800, function(){
            $(".album").not("#select").animate({ height: "toggle", opacity: "toggle" },800,function(){
                $("#select .preview").animate({height:'600'},1500,function(){
                    
                    $.ajax({
                        type: "POST",
                        url: "php/image.php",
                        data: {
                        album: $albumName,
                        count: $imgsInAlbum,
                        albumWidth: $albumWidth            
                        },
                        error: function(){
                            alert("Произошла ошибка! Фотографии не смогли загрузиться..");
                        },
                        success: function(data){
                                $("#select .preview").append(data);
                            }
                    });
                    
                    
                    
                });
            });
        });
    });
    $(".back a").click(function(){
        $("#select ul").fadeOut(1000,function(){
            $(this).remove();
                $("#select .preview").animate({height: $previewHeight},1500,function(){
               $("#select").find("table").fadeIn(600,function(){
                    $(".album").not("#select").animate({ height: "toggle", opacity: "toggle" },600);
                    $("#select").removeAttr('id');
               }); 
            });
        });
                
        $(this).fadeOut(1000);
    });
Ответить с цитированием
  #2 (permalink)  
Старый 07.04.2011, 15:57
Аспирант
Отправить личное сообщение для kiff86 Посмотреть профиль Найти все сообщения от kiff86
 
Регистрация: 26.03.2011
Сообщений: 52

фигня в том когда я пытаюсь загрузить аяксом данные туда же, куда загружал только что, но затем удалил из дома методом .remove().. именно из-за второго вызова аякса проблемы начинаются!
Ответить с цитированием
  #3 (permalink)  
Старый 07.04.2011, 16:06
Аспирант
Отправить личное сообщение для kiff86 Посмотреть профиль Найти все сообщения от kiff86
 
Регистрация: 26.03.2011
Сообщений: 52

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

похоже я узнаю все быстрее чем кто-либо, кто пытается разобраться с моей проблемой))) Заметил, что не работает fadeOut вот тут:

$(".back a").click(function(){
        $("#select ul").fadeOut(1000,function(){
            $(this).remove();


не понятно.. разбираюсь дальше..

Пы.сы.
А годы летят.... )
Ответить с цитированием
  #5 (permalink)  
Старый 08.04.2011, 10:06
Аспирант
Отправить личное сообщение для kiff86 Посмотреть профиль Найти все сообщения от kiff86
 
Регистрация: 26.03.2011
Сообщений: 52

может, этот кусок:
$(".back a").click(function(){
        $("#select ul").fadeOut(1000,function(){
            $(this).remove();

изменить.. по сути, если хоцца работать с данными аякс, в документации говориться - use .live()... может прислушаться )))


А идей ни у кого нет.. или может я там мало кода вытащил на показ??
Ответить с цитированием
  #6 (permalink)  
Старый 08.04.2011, 16:50
Человек
Отправить личное сообщение для 0931454574 Посмотреть профиль Найти все сообщения от 0931454574
 
Регистрация: 10.03.2011
Сообщений: 305

Эй, на корабле.
Тебе нужно чтобы при коике на чем либо загружался файл аяксом?
Что бы при клике на загруженом можно было загрузить другое?
Обьясни схематично, постараюсь до 24.00 ответить.
__________________
XYZ
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите сменить событие .hover на .click serdeles jQuery 2 22.11.2010 17:07
jQuery.ajax( ) проблема пи получении данных от сервера hard0000 jQuery 4 30.07.2010 12:34