Не удаляется 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, время: 11:16. |