Jquery 动画。显示无 css 没有改变

标签 jquery

在页面第一次加载时,图像必须显示:无。但问题是,当我设置“不显示”时,动画功能不起作用,而且我已经设置了 .css({'display':'block'}) 仍然不起作用。

这是我的代码

<script type="text/javascript">
    $(document).ready(function() {
        $("img.fade").hover(function() {
            $(this).stop().animate({ "opacity": "1" }, 300);
            $(this).css({ 'display': 'block' });
        }, function() {
            $(this).stop().animate({ "opacity": "0" }, 300);
        });
    });
</script>
<style type="text/css">
    img.fade { display:none }
</style>
<img src="image.jpg" class="fade" />

如果我删除 display:none 样式,它可以正常工作,但是当页面首次加载时,图像就会显示。我需要在第一次加载时隐藏它,然后悬停时它会显示。

最佳答案

如果某些内容被隐藏,您将无法将鼠标悬停在其上,因为它不占用页面空间。相反,最初将其不透明度设置为0。删除 CSS,您可以执行以下操作:

$(document).ready(function() {
    $("img.fade").hover(function() {
        $(this).stop().animate({ opacity: 1 }, 300);
    }, function() {
        $(this).stop().animate({ opacity: 0 }, 300);
    }).css({ opacity: 0 });
});

You can test it out here 。或者,删除 .css({ opacity: 0 }); 并将 CSS 更改为:

img.fade { opacity: 0; filter: alpha(opacity=0); }

You can test that version here .

关于Jquery 动画。显示无 css 没有改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4009375/

相关文章:

javascript - 在显示器中央打开一个弹出窗口

jquery - 改变多个元素的css

javascript - 使用 jQuery 合并 2 个表

javascript - QuickSand,动画卡顿

javascript - 如何将appendto替换为其他内容来更新数据

javascript - 如何使用正则表达式从数据属性中提取某些字符?

javascript - jQuery .attr ('type' , 'submit' ) 在一个按钮元素上给我一个奇怪的 IE7 错误

javascript - jquery 获取两个数组的差异

javascript - 如何在此脚本中添加多个 ID [需要语法]

javascript - 多页和谷歌分析插件中的 deviceready