Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Не удаляется div (https://javascript.ru/forum/dom-window/55054-ne-udalyaetsya-div.html)

Летсак 12.04.2015 07:54

Не удаляется 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();
		});
	});

laimas 12.04.2015 08:26

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);
        });

Летсак 12.04.2015 15:50

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

laimas 12.04.2015 16:32

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

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

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


Часовой пояс GMT +3, время: 11:16.