有没有办法只在图像的不透明度为1时单击?

时间:2015-06-26 15:29:56

标签: javascript jquery html css

我有一张可点击的图片,它以opacity的{​​{1}}开头,并在0被动画时动画。1。有没有办法只在动画完成且opacity位于1时才能点击它?

1 个答案:

答案 0 :(得分:5)

我相信你正在寻找类似的东西:



$(document).ready(function() {
    $('img').on('mouseover', function() {
        $(this).fadeTo( 3000 , 1 );
    });
    $('img').on('click', function(e) {
        e.preventDefault();
        if($(this).css('opacity') == 1) {
            alert('you can click it now');
        }
    });
});

img {
    opacity: 0;    
}
div{
    display: inline-block;
    border: 1px solid black;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
    <img src="https://s-media-cache-ak0.pinimg.com/736x/2f/cc/b2/2fccb29f96bf7f0b0ea94d42832a4c4f.jpg"/>
</div>
&#13;
&#13;
&#13;

函数.on('click')阻止了最初使用e.preventDefault()代码行单击图像的默认操作。然后检查图像的不透明度是否为1,然后您可以将代码放在那里,以便在不透明度为1时执行您想要的任何操作。

希望这有帮助!