Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.04.2015, 07:54
Новичок на форуме
Отправить личное сообщение для Летсак Посмотреть профиль Найти все сообщения от Летсак
 
Регистрация: 12.04.2015
Сообщений: 2

Не удаляется div
Создал галерею. Не могу понять где ошибка. Событие после комментария напрочь отказывается выполняться и удалять div.
$(document).ready(function(){
		$('.article img').click(function(){
			$('body').append('<div id="img_container"><img src="'+$(this).attr('src')+'"></div>');
			$('#img_container').css({
				'width':'500px',
				'height':'500px',
				'position':'fixed',
				'left':'50%',
				'top':'50%',
				'margin':'-250px 0px 0px -250px',
				'background':'#fff',
				'border-radius':'2px',
				'padding':'10px',
				'display':'none'
			});
			$('#img_container img').css({
				'height':'500px',
				'display':'none',
				'cursor':'pointer'
			});
			$('#img_container').fadeIn(700).animate({'width':$('#img_container img').width(), 'margin':'-250px 0px 0px -'+$('#img_container img').width()/2},700);
			$('#img_container img').delay(1500).fadeIn(700);
		});
		//Дальше не работает
		$('#img_container').click(function(){
			$('#img_container').remove();
		});
	});
Ответить с цитированием
  #2 (permalink)  
Старый 12.04.2015, 08:26
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

img_container добавляется динамически и события $('#img_container').click на него не установить, так как его нет в этот момент на странице.
$('.article img').click(function(){
            var o = $('<div id="img_container"><img src="'+this.src+'"></div>').appendTo('body')
                //стили нужно перенести в CSS, кроме отступа слева если изменяемое
                //тоже самое для изображения
                .fadeIn(700)
                .animate({width : this.width, marginLeft : this.width/2}, 700)
                .click(function(){
                    $(this).remove();
                });
                
                $(this).delay(1500).fadeIn(700);
        });

Последний раз редактировалось laimas, 12.04.2015 в 08:47.
Ответить с цитированием
  #3 (permalink)  
Старый 12.04.2015, 15:50
Новичок на форуме
Отправить личное сообщение для Летсак Посмотреть профиль Найти все сообщения от Летсак
 
Регистрация: 12.04.2015
Сообщений: 2

А в чем преимущество camelCase в стилях? Гугл не помогает. И какая разница где писать стили?

Последний раз редактировалось Летсак, 12.04.2015 в 16:09.
Ответить с цитированием
  #4 (permalink)  
Старый 12.04.2015, 16:32
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А к чему camelCase, это по поводу marginLeft? В JS css-свойства имеющие дефис пишутся без дефиса, а первый символ после дефиса в верхнем регистре.

И какая разница где писать стили?

А зачем нагружать скрипт тем, что определяет постоянный стиль элемента?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обработчик событий для динамически добавленных элементов Tecvid Events/DOM/Window 28 25.06.2018 13:49
Показать div при наведении / jQuery updaite Элементы интерфейса 4 28.07.2014 03:45
Cookie для меню аккордион и для div Lastedl jQuery 1 03.12.2013 04:55
Проблемы с div обновлённым через (#id).load erlcat jQuery 4 03.03.2013 03:41
проблема с div И animate g00000dman jQuery 2 24.03.2011 23:34