Подтвердить что ты не робот

JQuery показать/скрыть при наведении

У меня есть три ссылки: кошка, собака, змеи. При наведении на каждую из них содержание, относящееся к каждой ссылке, должно измениться.

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

Links are: Dog   Cat  Snake
<div>
  <span style="display:none;"> Cat Content</span>
  <span style="display:none;"> Dog Content</span>
  <span style="display:none;"> Snake Content</span>    
</div>

Как мне заставить это работать полноценно, с некоторым плавным затуханием?

4b9b3361

Ответ 1

('.cat').hover(
  function () {
    $(this).show();
  }, 
  function () {
    $(this).hide();
  }
);

То же самое для остальных.

Для плавного выгорания вы можете использовать fadeIn и fadeOut

Ответ 2

JQuery

$('div.animalcontent').hide();
$('div').hide();
$('p.animal').bind('mouseover', function() {
    $('div.animalcontent').fadeOut();
    $('#'+$(this).attr('id')+'content').fadeIn();
});  

HTML:

<p class='animal' id='dog'>dog url</p><div id='dogcontent' class='animalcontent'>Doggiecontent!</div>
<p class='animal' id='cat'>cat url</p><div id='catcontent' class='animalcontent'>Pussiecontent!</div>
<p class='animal' id='snake'>snake url</p><div id='snakecontent'class='animalcontent'>Snakecontent!</div>

-edit -

Да, конечно, здесь вы идете - JSFiddle

Ответ 3

Я надеюсь, что мой сценарий поможет вам.

<i class="mostrar-producto">mostrar...</i>
<div class="producto" style="display:none;position: absolute;">Producto</div>

Мой сценарий

<script>
$(".mostrar-producto").mouseover(function(){
     $(".producto").fadeIn();
 });

 $(".mostrar-producto").mouseleave(function(){
      $(".producto").fadeOut();
  });
</script>

Ответ 4

Поскольку вы используете jQuery, вам просто нужно подключиться к определенным событиям и некоторым предварительно определенным анимациям:

$('#cat').hover(function()
{
     // Mouse Over Callback
}, function()
{ 
     // Mouse Leave callback
});

Затем, чтобы сделать анимацию, вам просто нужно вызвать анимацию fadeOut/fadeIn:

$('#dog').fadeOut(750 /* Animation Time */, function()
{
    // animation complete callback
     $('#cat').fadeIn(750);
});

Объединив их вместе, вы просто вставляете анимации в обратные вызовы наведения (что-то вроде этого, используйте это как контрольную точку):

$('#cat').hover(function()
{
     if($('#dog').is(':visible'))
        $('#dog').fadeOut(750 /* Animation Time */, function()
     {
        // animation complete callback
         $('#cat').fadeIn(750);
     });
}, function()
{ 
     // Mouse Leave callback
});

Ответ 5

Этот код также работает.

$(".circle").hover(function() {$(this).hide(200).show(200);});
.circle{
    width:100px;
    height:100px;
    border-radius:50px;
    font-size:20px;
    color:black;
    line-height:100px;
    text-align:center;
    background:yellow
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<div class="circle">hover me</div>