Не удаляется 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();
});
});
|
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);
});
|
А в чем преимущество camelCase в стилях? Гугл не помогает. И какая разница где писать стили?
|
А к чему camelCase, это по поводу marginLeft? В JS css-свойства имеющие дефис пишутся без дефиса, а первый символ после дефиса в верхнем регистре.
И какая разница где писать стили? А зачем нагружать скрипт тем, что определяет постоянный стиль элемента? |
| Часовой пояс GMT +3, время: 14:01. |