|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.07.2011, 10:58 | #1 |
Регистрация: 07.09.2008
Сообщений: 9
|
Скрипт срабатывает один раз, а далее ошибка
Пишу скрипт для интернет магазина который, при клике на специальную кнопочку или ссылку создаёт копию фотографии и анимирует её так чтобы было похоже будто товар улетел в корзину.
Код HTML:
img = $("."+id+"").children(".photo").children("img"); // получаем оригинал картинки img_clone = img.clone(); // клонируем объект картинку $(".item."+id).children(".photo").append(img_clone); // вставляем клон в документ var to_compare_link_coords = $("#to_compare_link").offset(); // получаем координаты ссылки к сравнению to_compare_link_coords.left = to_compare_link_coords.left.toFixed(0); to_compare_link_coords.top = to_compare_link_coords.top.toFixed(0); var img_clone_coords = img.offset(); // получаем координаты клона //alert(img_clone_coords==null); alert("123: " + img.offsetParent.x); if(img_clone_coords==null){ img_clone_coords = {left:img.offset().left, top: img.offsetTop} } img_clone_coords.left = img_clone_coords.left.toFixed(0); img_clone_coords.top = img_clone_coords.top.toFixed(0); var doc_scrol_x = $(document).scrollLeft(); //координаты скрола Х var doc_scrol_y = $(document).scrollTop(); //координаты скрола Y var win_width_w = $(window).width(); //Ширина окна var win_height_h = $(window).height(); //Высота окна var coords_to_anim = Array(to_compare_link_coords.left-img_clone_coords.left+50, to_compare_link_coords.top-img_clone_coords.top+150) img_clone.addClass("anim_photo"); img_clone.css({top:'0', display: "block", position:"absolute", border:"0px solid red", "z-index": "999"}); img_clone.animate({left: coords_to_anim[0], top:coords_to_anim[1], width: "10%", height: "10%"}, "fast", function(){ img_clone.remove(); delete (img_clone_coords, img_clone, img, doc_scrol_x, doc_scrol_y, win_width_w, win_height_h, coords_to_anim); }); init_compare_del(); init_clear_compare(); Код:
|
20.07.2011, 12:02 | #2 |
Раздолбайских Дел
Старожил
Регистрация: 22.05.2009
Сообщений: 3,828
|
Попробуйте не удалять в конце img
Alar, верни репу!
|
20.07.2011, 12:14 | #3 |
Регистрация: 07.09.2008
Сообщений: 9
|
|
20.07.2011, 12:17 | #4 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
После просмотра (или добавления в список, х/з) "item xxxx" появляется в #footer_block_content и img = $("."+id+"").children(".photo") возвращает не 1 блок, а массив из 2.
пыщь
|
20.07.2011, 12:38 | #5 |
Регистрация: 07.09.2008
Сообщений: 9
|
Всё было бы верно, но у меня отлавливается случай если фото уже есть в #footer_block_content, тогда просто выводится сообщение...
|
20.07.2011, 13:01 | #6 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Проще сделать removeClass(id) при помещении товара в список, чем городить кучу проверок с неочевидным порядком вызова.
-- А, вы так и сделали уже
пыщь
Последний раз редактировалось JTG; 20.07.2011 в 13:03. |
20.07.2011, 14:40 | #7 |
Регистрация: 07.09.2008
Сообщений: 9
|
Я не могу так сделать потому что при удалении товара из корзины надо вернуть возможность добовления его в корзину, т.е. вернуть ссылку на скрипт добовления... вот, а делаю это я получив $("."+id).
|
20.07.2011, 15:15 | #8 |
Регистрация: 07.09.2008
Сообщений: 9
|
сделал
Код:
|
20.07.2011, 16:02 | #9 |
Регистрация: 07.09.2008
Сообщений: 9
|
Всё народ спасибо за помощь! Я нашёл свой косяк! Переменную id я получал получив строку с именем класс и отрезав последовании 4 символа, а так как при нажатии на кнопку 'в карзину' у меня добавлялся класс activ то id получался 'tive' и поэтому объект $('.'+id) не нахоился и метод offset() от пустого объекта не работал... Всем большое спасибо извините за недоразумение...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Скрипт выполняется только один раз | MAKSA | JavaScript, Ajax | 6 | 12.02.2010 13:48 |
Непонятная ошибка (код срабатывает только один раз) | Marsel737 | Общие вопросы Delphi | 4 | 10.02.2010 16:37 |
Графическая функция второй раз не срабатывает... | AlexFox | PHP | 2 | 13.09.2009 17:27 |
Форма один раз | Dop | Общие вопросы Delphi | 11 | 16.07.2009 21:41 |
timer срабатывает только один раз! | KWN, lnc | Общие вопросы Delphi | 1 | 05.03.2009 12:58 |