У меня возникают всевозможные проблемы из браузера дерьма, которые я не могу решить ни с чем, что прочитал. Вот ситуация ... Я использую сторонний плагин для создания галереи. Этот плагин поставляется с обратным вызовом при изменении изображения, которое срабатывает при каждом изменении изображения.
То, что я пытаюсь сделать, это добавить CSS для двух div-ов ... один, который является div-оберткой, который будет выдвигаться при нажатии на дочерний div и вставляться обратно при повторном нажатии на дочерний элемент.
Вот обратный звонок:
changepicturecallback: function(){
$('.sxpp_commentsImage').unbind(toggle);
oldWidth = $('.pp_pic_holder').width() - 20,
newWidth = $('.pp_pic_holder').width() + (200),
newHeight = $('.pp_hoverContainer').height(),
cImageAlign = newWidth - 20;
var toggle = function() {
if(newWidth == $('.sxpp_comments').width()){
$('.sxpp_comments').animate({width: oldWidth});
}else{
$('.sxpp_comments').animate({width: newWidth});
}
}
$('.sxpp_comments').width(oldWidth).css('background-color','red');
$('.sxpp_commentsImage').css({'float':'right','background-color':'green','width':'20px','height':newHeight});
$('.sxpp_commentsImage').bind('click',toggle);
}
Это прекрасно работает в FF4 и Chrome ... однако, это как если бы "связывание" не происходило в Internet Explorer. Я читал о методах ".live" и ".delegate", но (A) я не знаком с тем, как они работают (B) Если возможно очистить этот ".live" на изменениях, добавьте его назад, как я делаю с привязкой.
Любое понимание или вещи, которые я мог бы упускать из виду ??
Редактировать *** ... Div создаются динамически (отображается лайтбокс) при нажатии на ссылку. Таким образом, из всего, что я читаю ... событие связывания - неправильный путь, чтобы пойти так или иначе.