【问题标题】:jquery fade in, fade out interrupted between nav lijquery淡入淡出在nav li之间中断
【发布时间】:2014-03-26 03:35:06
【问题描述】:

当我将鼠标悬停在每个 li 上时,相应的图像会淡入淡出。但是,当我从一个 nav li 悬停到另一个时,第一个图像的淡出被中断,第二个图像淡入。当我从一个 nav li 悬停到另一个时,我正在寻找图像的平滑交叉淡入淡出。类似本站的效果:http://www.bonnieroccelli.com/

任何帮助将不胜感激!

html:

        <div class="banner-nav-wrap">
                <ul>
                    <li class="banner-nav-item" data-img="images/home-banner.png">List item 1</li>
                    <li class="banner-nav-item" data-img="images/1.jpg">List item 2</li>
                    <li class="banner-nav-item" data-img="images/6.jpg">List item 3</li>
                </ul>
        </div> 

jquery:

<script type="text/javascript">
 $('.banner-nav-item').hover(function() {
      var img = $(this).attr('data-img'); 
      $('img#hover-img').css({"display" : "none"});
      $('img#hover-img').fadeIn('slow').attr('src', img);
   },function() {
      $('img#hover-img').fadeOut('slow');
   });

</script>

【问题讨论】:

标签: jquery fadein fadeout


【解决方案1】:

试试下面的。 已编辑。现在它可以按您的意愿工作,但我认为它看起来比以前更糟。

$('.banner-nav-item').hover(function() {
  var img = $(this).attr('data-img'); 
  $('img#hover-img').fadeOut("slow", function(){
    $(this).fadeIn('slow').attr('src', img);
  });
},function() {
  $('img#hover-img').stop(true,true).fadeOut('slow');
});

Edit2:您粘贴的链接正在淡入淡出,这与您要求的不同。

【讨论】:

  • 感谢您的回复。现在它开始悬停动画,但如果我再次悬停它会暂停动画。有什么建议么?我正在寻找的效果是这样的:bonnieroccelli.com
  • 抱歉,链接中的效果实际上是我所追求的。你对这个效果有什么建议吗?
  • 是的。巧妙地使用 2 张图片:)。
猜你喜欢
  • 2016-12-15
  • 1970-01-01
  • 2013-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-20
相关资源
最近更新 更多