【问题标题】:jquery animate opacity has an impact of other divs? weird behaviorjquery animate opacity 对其他 div 有影响吗?奇怪的行为
【发布时间】:2011-01-22 19:42:41
【问题描述】:

我有一个非常奇怪的 jquery 行为。我想用动画瓷砖制作一个像背景的网格(不透明度为 0.8,鼠标悬停和鼠标离开时回到 0.25)。

因为这应该是我的背景,所以它不应该对我的内容 div 产生影响。

不幸的是,它没有按预期工作。内容 div(出于测试目的我将其涂成红色)也会被动画化。

这是link the the site

【问题讨论】:

  • 您是否有机会在协作网站上发布最小演示,重现您的问题?比如JS Fiddle,或者JS Bin,也许? (在那里查看正在发生的事情并使用它会更容易一些。)
  • 感谢您的回答。给你 :) jsfiddle.net/3XgRA
  • 很抱歉,您能否逐步解释一下您想要发生的情况?您希望将鼠标悬停在哪些元素上,以产生什么效果?
  • 感谢您的努力和对帮助我的兴趣:) 我在下面评论了答案...

标签: javascript jquery jquery-animate opacity


【解决方案1】:

部分问题可能是,当您将鼠标悬停在背景图块上时,事件会冒泡到内容 div。您可以尝试在事件侦听器中的某处执行此操作:

e.stopPropagation();

【讨论】:

    【解决方案2】:

    我正在调整您的代码以使用 .hover() 事件而不是处理 mouseover/mouseout,而且我正在使用 fadeTo 而不是手动设置不透明度动画。

    $(document).ready(function() {
        $('#page-bg ul li img.keyword').hover(function(){
                $(this).fadeTo('slow',0.8);
            }, 
            function() {
                $(this).fadeTo('slow',0.25);
            });     
        ...
    });
    

    【讨论】:

    • 不幸的是,这没有帮助。 :-( 感谢您的帮助!
    • 是的,这并不能解决您的问题,但它是制作相同动画的更好方法...
    • 好的,谢谢你,我会记住这一点 :-) 什么时候应该使用鼠标悬停,... 那么?
    【解决方案3】:

    内容 div 没有动画,但 page-bg div 位于内容的顶部(因为绝对位置),因此当您更改不透明度时,内容 div(在背景中)变得可见...

    【讨论】:

    • 那么此时的解决方案是什么?我以为我可以用 z-index 实现对齐。
    • 我不确定你的意图是什么。 Z-index 不能解决这个问题(如果内容在顶部 - 那么你将根本看不到动画 - 它会被内容隐藏,相反的是你现在可以看到的)。你能解释一下你的意图吗?结果应该如何?您可以在动画中使用“标题”而不是“内容”,例如:jsfiddle.net/qtnNK
    • 抱歉我的解释不好。这正是我想做的。我的目标是将其设置为背景(重复到底部,以便我可以拥有某种“字母网格”。我的内容 div 必须隐藏背景的某些区域。
    • 好的,那么,z-index 就是解决方案...#pg-bg 应该有更小的 z-index,所以 #content 位于其顶部...
    • 但这是真正的问题。尽管 #pg-bg 具有较低的 z-index ' 内容也会褪色并且看起来不像单个元素。 jsfiddle.net/3XgRA
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    相关资源
    最近更新 更多