Функция jquery hover не работает после показа img

у меня есть код ниже: первая функция показывает альтернативное изображение при наведении курсора мыши с использованием атрибута rel вторая функция принимает скрытый div и показывает содержимое в другом месте на той же странице, но когда я навожу изображение, изображение не меняется , наведение на скрытый div работает, но после его перемещения по щелчку в другом месте наведение не работает. Я думаю, что это может быть сценарий готовности документа, потому что я изменяю страницу после готовности, но я не уверен, что посоветуете? Спасибо

$(document).ready(function(){
$(function() {
    $('img[rel]').hover(function() {
        $(this).attr('tmp', $(this).attr('src')).attr('src', $(this).attr('rel')).attr('rel', $(this).attr('tmp')).removeAttr('tmp');
    }).each(function() {
        $('<img />').attr('src', $(this).attr('rel'));
    });;
});

$(function(){
    $('.id2').one("click",function() {
         var newPara = $('#test').html();
        $('#big_photo').append(newPara);
    }); 
});

});


person Dsp Marian    schedule 28.09.2011    source источник


Ответы (1)


я думаю, вам следует рассмотреть возможность использования спрайтов для переключения изображений, так как это более шикарное решение на мой взгляд.

  • вам не нужен атрибут rel (который в любом случае не является допустимым атрибутом img)
  • у вас нет проблем с загрузкой второго изображения, так как оно загружается сразу

также

$(document).ready(function(){

а также

$(function() {

то же самое, и вам нужен только один из них, поэтому:

$(function() {
   // all your jQuery code
});

будет достаточно.


хорошо, тогда для замены src на rel при наведении/выходе это должно работать:

$('img[rel]').bind('mouseenter mouseleave',function() {
    var oldSrc = $(this).attr('src');
    $(this).attr('src', $(this).attr('rel')).attr('rel', oldSrc);
});

демо: http://jsfiddle.net/P37UX/1/

person Andy    schedule 28.09.2011
comment
я использую его в динамической галерее изображений, и я не могу использовать спрайты. Идея со спрайтами хороша, и плохо применять ее к чему-то другому. Спасибо - person Dsp Marian; 29.09.2011