23.10.2014, 11:41
|
Кандидат Javascript-наук
|
|
Регистрация: 04.06.2011
Сообщений: 116
|
|
Очистка памяти, отмена загрузки картинки, отмена события.
Приветствую Вас Уважаемые форумчане.
У меня собственно 3 вопроса к Вам профессионалам)
1. К примеру, я создаю объект createElement("div"), добавляю в него текст, атрибуты и вывожу в общий поток ...appendChild(createdElement), но потом мне он уже не нужен будет. Нужно ли мне удалять ссылку на объект? И как это сделать, в голову приходит только такой код createdElement = {}
2. Я пишу галерею и в ней имеются стрелочки для переключения картинок, если пользователь не дождался загрузки картинки и нажал далее, как мне отменить загрузку предыдущей картинки? Сами же картинки загружаются через объект image, а именно:
var img = document.createElement('img')
img.src = Адрес картинки
Может быть есть что-то наподобие abort()?
3. На одном из блоков у меня висят 2 обработчика первый onclick, а второй onbdlclick так вот, как сделать так, чтобы когда срабатывает второй обработчик первый не срабатывал?
Буду благодарен за любую помощь!
|
|
23.10.2014, 11:47
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,201
|
|
Сообщение от zhurchik
|
К примеру, я создаю объект createElement("div"), добавляю в него текст, атрибуты и вывожу в общий поток ...appendChild(createdElement), но потом мне он уже не нужен будет. Нужно ли мне удалять ссылку на объект? И как это сделать, в голову приходит только такой код createdElement = {}
|
Если все это происходит у тебя в функции, все исчезнет по окончании ее работы...
|
|
23.10.2014, 11:50
|
Кандидат Javascript-наук
|
|
Регистрация: 04.06.2011
Сообщений: 116
|
|
ksa,
Кстати, хотел подчеркнуть то, что все это происходит в моем собственном объекте, но подумал, что пост слишком длинный получится!)
|
|
23.10.2014, 11:56
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,201
|
|
Сообщение от zhurchik
|
все это происходит в моем собственном объекте
|
Может всетаки в методе объекта?
Метод отработает - все исчезнет...
|
|
23.10.2014, 11:57
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,201
|
|
Сообщение от ksa
|
в голову приходит только такой код createdElement = {}
|
Так будет ссылка на пустой объект...
|
|
23.10.2014, 11:58
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,201
|
|
Сообщение от zhurchik
|
но подумал, что пост слишком длинный получится
|
Лучше всего сразу использовать тестовые примеры... Они малы и сразу все понятно.
|
|
23.10.2014, 12:15
|
Кандидат Javascript-наук
|
|
Регистрация: 04.06.2011
Сообщений: 116
|
|
Сообщение от ksa
|
Может всетаки в методе объекта?
Метод отработает - все исчезнет...
|
Да, методе, я думал и так понятно.
А как система поймет, что метод отработал? Ведь другие методы этого объекта продолжают работать.
|
|
23.10.2014, 12:15
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Сообщение от zhurchik
|
Нужно ли мне удалять ссылку на объект?
|
Не надо делать таких ссылок. var elem = document.createElement()... elem.style... метод закрылся, elem сдох.
Цитата:
|
var img = document.createElement('img')
img.src = Адрес картинки
|
Пользователь нажал не дожидаясь, значит var img = document.createElement('img'); img.src = Адрес новой картинки вот и весь аборт.
3. Уберите щелчок.
|
|
23.10.2014, 12:17
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Сообщение от zhurchik
|
А как система поймет, что метод отработал?
|
Одуреть, а {} на что?
|
|
23.10.2014, 12:22
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Сообщение от kostyanet
|
img.src = Адрес новой картинки вот и весь аборт.
|
Насколько я знаю не будет никакого аборта. Есть даже такой код для прелоада картинок:
var image = new Image();
['img1.png', 'img2.png'].forEach(function(src) {
image.src = src;
});
__________________
В личку только с интересными предложениями
|
|
|
|