Как правильно спрятать div при наведении курсора при попытке сделать gif-файл при запуске при наведении курсора

0

Я новичок в кодировании и собрал некоторые вещи вместе. Я пытаюсь запустить gover на hover. Исходное изображение является статическим, и когда вы наводите gif, начинает играть. Я получил эту работу отлично, но я хочу наложить поверх статического изображения, как кнопка "наведите меня". Когда я нависаю над наложением, он не запускает gif, потому что я не вишу над статическим изображением. Когда я делаю отображение наведения: ни один для наложения он просто не мерцает.

Вот ссылка на то, что у меня есть до сих пор:

<div class="container">
<div class="overlay">TEST   </div>
    <img src="http://fdfranklin.com/gif1.jpg" alt="" id="static">
</div>

(Новое для stackoverflow, поэтому не уверен, как показать css/JS здесь ссылка jsfiddle)

http://jsfiddle.net/T6GEn/

Если вы избавитесь от наложения div, gif правильно играет при наведении. Я действительно хочу, чтобы это было так, как сейчас, вы наведите курсор, и наложение исчезает и начинает играть в gif.

Есть идеи? Вся помощь, очень ценится.

  • 0
    GIF не работает в JSFiddle - Chrome 32
  • 0
    @Paulie_D: Конечно, они делают: jsfiddle.net/7t66L
Показать ещё 3 комментария
Теги:
hover

4 ответа

2
Лучший ответ

Вы никогда не скрываете оверлейный div и, следовательно, не зависаете с gif. Просто установите начало, когда вы наведете наложение:

$(document).ready(function()
{
    $(".overlay").hover(
        function()
        {
            $('#static').attr("src", "http://i.imgur.com/ytWYljT.gif");
        },
        function()
        {
            $('#static').attr("src", "http://fdfranklin.com/gif1.jpg")
        }
    );  
});

скрипка

  • 0
    Спасибо! Это сработало. Ценить это.
  • 0
    Итак, примите ответ, если он вам подходит, чтобы все могли видеть решение .. @ user3324440
1

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

<div class="container">
  <div class="overlay"><p>TEST</p> </div> 
  <img src="http://fdfranklin.com/gif1.jpg" alt="" id="static">
  <img src="http://i.imgur.com/ytWYljT.gif" alt="" id="animated" style="display: none;">
</div>

а потом

$(".overlay").hover(
  function()
  {
     $("#static").hide();
     $("#animated").show();
  },
  function()
  {
    $("#static").show();
    $("#animated").hide();
  }
);
0

Ваша проблема в том, что событие "hover" происходит с div OVERLAY вместо # статического изображения. Вы захотите изменить свой JS следующим образом:

 $('.overlay).hover();

См. Здесь полное решение: JSFiddle

0

Вы могли бы сделать что-то вроде этого:

$(".container").hover(
    function(){
        $(".overlay").fadeOut(300);           
        $(this).find("img").attr("src", "http://i.imgur.com/ytWYljT.gif");
    },
    function()      {
        $(this).find("img").attr("src", "http://fdfranklin.com/gif1.jpg");
         $(".overlay").fadeIn(300);
    }
);  

Демо-версия JSFiddle

Ещё вопросы

Сообщество Overcoder
Наверх
Меню