2014-04-11 1 views
0

было интересно, если это возможно:Выведение изображения на наведении курсора мыши, а затем исчезает в другой картине

  • Fade из изображения при наведении курсора мыши и затем исчезает в другой картине после первого замирания выхода.

Fade из легко с:

.overlay { 
    position: absolute; width: 269px; height: 344px; bottom:0; 
    left: 6%; z-index: 2; transition: opacity 1.5s ease; opacity:1; 
    } 

    .overlay:hover { opacity:0; } 

Изображения разного размера.

+0

Полностью исчезнет, ​​а затем исчезнет на одной и той же наводке. – user3524419

+0

Да, это ... что ты пробовал? Могли бы вы сделать JSfiddle? –

ответ

0

Отредактировано для использования чистого метода jQuery.

$(document).ready(function() { 
    var changed = false; 
    $(".overlay").mouseover(function() { 
     if(!changed) { 
      $(this).fadeTo("slow", 0, function() { 
       $(this).children('img').attr("src", "newjpg.jpg"); 
       $(this).fadeTo("slow", 1); 
      }); 
      changed = true; 
     } 
    }); 
}); 

jsFiddle: http://jsfiddle.net/8pFBB/


EDIT: С возможностью вернуться к старому образу & очереди, чтобы предотвратить анимации от укладки до бесконечности при перемещении мыши и от объекта неоднократно

$(document).ready(function() { 
    $(".overlay").queue("fadeFx"); 
    var fading = false; 
    $(".overlay").mouseover(function() { 
     if(fading) { $(".overlay").dequeue(); } 
     fading = true; 
     $(this).fadeTo("slow" , 0, function() { 
      $(this).children('img').attr("src", "http://placehold.it/350x150"); 
      $(this).fadeTo("slow" , 1); 
      fading = false; 
     }); 
    }); 
    $(".overlay").mouseout(function() { 
     if(fading) { $(".overlay").dequeue(); } 
     fading = true; 
     $(this).fadeTo("slow" , 0, function() { 
      $(this).children('img').attr("src", "http://placehold.it/150x350"); 
      $(this).fadeTo("slow" , 1); 
      fading = false; 
     }); 
    }); 
}); 

http://jsfiddle.net/8uVHF/

+0

это ничего не делает :( – user3524419

+0

@ user3524419 Обновлено и протестировано с помощью jsFiddle. – shrmn

+0

Очень хорошо, но я бы хотел, чтобы 350x150 возвращался обратно к 150x350 всякий раз, когда мышь не над ним. – user3524419

0
$('.overlay').hover(function() { 
$(this).fadeOut(); 
$(this).attr('src', 'newImage.png'); 
} 
2

Это должно работать и позволит вам сделать это полностью в JQuery

$(".overlay").hover(function() { 
    $(this).fadeTo("slow" , 0, function() { 
    $(this).attr("src", newIMGURL); 
     $(this).fadeTo("slow" , 1); 
    }); 
}); 

Вопрос с другим ответом он изменит IMG, пока еще замирания, который не будет выглядеть приятным, по моему, он ждет, пока изображение полностью не исчезнет, ​​чтобы переключить изображение, затем исчезает.

+0

Хорошо, я удаляю CSS, добавляю его в заголовок и заменяю URL-адрес newIMGof на путь моего второго изображения, не так ли? – user3524419

+0

Yup, и если вы добавляете его в заголовок, обязательно поместите его в тег перед моим кодом. – user2928768

+0

Ну, не работает .. Я пытаюсь на своем ПК, а не на сервере. Ничего не происходит на самом деле, я использую jquery/1.11.0/jquery.min.js – user3524419