Javascript JQuery-.animate<;img>;

Javascript JQuery-.animate<;img>;,javascript,jquery,animation,png,image,Javascript,Jquery,Animation,Png,Image,早上好,斯塔克先生 可以在两个img之间设置动画吗?比如,将img src和fade更改为新的img src? Html <img class="classimg" src="images/example.png" /> 感谢您的支持,祝您12月1日愉快 仅使用一个HTMLimg元素是不可能的。您可以做的是设置覆盖图像的动画/淡入淡出。一个淡入另一个淡出 jQueryanimate()函数只能为维度CSS样式设置动画。要允许彩色动画,必须使用jQuery UI效果。但是,没有什么

早上好,斯塔克先生

可以在两个img之间设置动画吗?比如,将img src和fade更改为新的img src?

Html

<img class="classimg" src="images/example.png" />

感谢您的支持,祝您12月1日愉快

仅使用一个HTML
img
元素是不可能的。您可以做的是设置覆盖图像的动画/淡入淡出。一个淡入另一个淡出

jQuery
animate()
函数只能为维度CSS样式设置动画。要允许彩色动画,必须使用jQuery UI效果。但是,没有什么像两个图像源那样是现成支持的

将所有图像放在同一个DIV容器中,如下所示:

<div style="position:relative;">
    <img src="..." style="position:absolute;" />
    <img src="..." style="position:absolute;display:none;" />
    <img src="..." style="position:absolute;display:none;" />
    <img src="..." style="position:absolute;display:none;" />
    <img src="..." style="position:absolute;display:none;" />
</div>


然后循环浏览这些图像,并根据需要制作动画。

仅使用一个HTML
img
元素是不可能的。您可以做的是设置覆盖图像的动画/淡入淡出。一个淡入另一个淡出

jQuery
animate()
函数只能为维度CSS样式设置动画。要允许彩色动画,必须使用jQuery UI效果。但是,没有什么像两个图像源那样是现成支持的

将所有图像放在同一个DIV容器中,如下所示:

<div style="position:relative;">
    <img src="..." style="position:absolute;" />
    <img src="..." style="position:absolute;display:none;" />
    <img src="..." style="position:absolute;display:none;" />
    <img src="..." style="position:absolute;display:none;" />
    <img src="..." style="position:absolute;display:none;" />
</div>


然后循环浏览这些图像,并根据需要制作动画。

正如Robert所说,您可以做的是:

<script type="text/javascript">

        $(function () {
            // find the div.fade elements and hook the hover event
            $('div.fade').hover(function() {
                // on hovering over find the element we want to fade *up*
                var fade = $('> div', this);

                // if the element is currently being animated (to fadeOut)...
                if (fade.is(':animated')) {
                    // ...stop the current animation, and fade it to 1 from current position
                    fade.stop().fadeTo(1000, 1);
                } else {
                    fade.fadeIn(1000);
                }
            }, function () {
                var fade = $('> div', this);
                if (fade.is(':animated')) {
                    fade.stop().fadeTo(1000, 0);
                } else {
                    fade.fadeOut(1000);
                }
            });
        });

    </script>

$(函数(){
//找到div.fade元素并钩住悬停事件
$('div.fade')。悬停(函数(){
//将鼠标悬停在上方,找到要淡出*的元素*
var fade=$('>div',此);
//如果元素当前正在设置动画(淡出)。。。
if(fade.is(“:动画”)){
//…停止当前动画,并将其从当前位置淡入1
fade.stop().fadeTo(1000,1);
}否则{
fadeIn(1000);
}
},函数(){
var fade=$('>div',此);
if(fade.is(“:动画”)){
fade.stop().fadeTo(1000,0);
}否则{
衰减。衰减(1000);
}
});
});
以及HTML:

    <div class="fade">
            <img src="logo.png" alt="Who we are" />
            <div>
                <img src="logoalt.png" alt="Who we are" />
    </div>
</div>

正如罗伯特所说,你能做的是:

<script type="text/javascript">

        $(function () {
            // find the div.fade elements and hook the hover event
            $('div.fade').hover(function() {
                // on hovering over find the element we want to fade *up*
                var fade = $('> div', this);

                // if the element is currently being animated (to fadeOut)...
                if (fade.is(':animated')) {
                    // ...stop the current animation, and fade it to 1 from current position
                    fade.stop().fadeTo(1000, 1);
                } else {
                    fade.fadeIn(1000);
                }
            }, function () {
                var fade = $('> div', this);
                if (fade.is(':animated')) {
                    fade.stop().fadeTo(1000, 0);
                } else {
                    fade.fadeOut(1000);
                }
            });
        });

    </script>

$(函数(){
//找到div.fade元素并钩住悬停事件
$('div.fade')。悬停(函数(){
//将鼠标悬停在上方,找到要淡出*的元素*
var fade=$('>div',此);
//如果元素当前正在设置动画(淡出)。。。
if(fade.is(“:动画”)){
//…停止当前动画,并将其从当前位置淡入1
fade.stop().fadeTo(1000,1);
}否则{
fadeIn(1000);
}
},函数(){
var fade=$('>div',此);
if(fade.is(“:动画”)){
fade.stop().fadeTo(1000,0);
}否则{
衰减。衰减(1000);
}
});
});
以及HTML:

    <div class="fade">
            <img src="logo.png" alt="Who we are" />
            <div>
                <img src="logoalt.png" alt="Who we are" />
    </div>
</div>


您可以制作一个单一背景(包含两个图像),并设置背景位置的动画。(如果您感兴趣的话,还有)。

您可以制作一个单一背景(包含两个图像),并设置背景位置的动画。(如果您感兴趣的话,还有)。

使用精灵不允许褪色,就像OP所问的那样。使用褪色?我不这么认为。链接的示例中的淡入淡出只是渐变。无法处理两个300px大小的图像。您必须创建淡入淡出动画的所有帧。这个想法很酷,但不是为了这个目的。使用精灵不会允许褪色,就像OP问的那样。使用褪色?我不这么认为。链接的示例中的淡入淡出只是渐变。无法处理两个300px大小的图像。您必须创建淡入淡出动画的所有帧。这个想法很酷,但不是为了这个目的。谢谢你的描述。我看到一些问题,JQuery无法自然地设置背景颜色、边框的动画,这些问题是JQuery本机不支持的吗?)@弗里曼先生:这就是为什么我说你应该在这些特殊的动画中使用jqueryui动画。jQuery
animate()
仅动画标注样式<代码>边框宽度是其中之一。当然不是
边框颜色
。谢谢您的描述。我看到一些问题,JQuery无法自然地设置背景颜色、边框的动画,这些问题是JQuery本机不支持的吗?)@弗里曼先生:这就是为什么我说你应该在这些特殊的动画中使用jqueryui动画。jQuery
animate()
仅动画标注样式<代码>边框宽度是其中之一。当然不是
边框颜色
。这上面的CSS呢?“.fade>div”不需要是“display:none;position:relative;opacity:0”,这样它们就可以在彼此的上方设置动画了吗?这上面的CSS呢?“.fade>div”不需要是“display:none;position:relative;opacity:0”,这样它们就可以在彼此上方设置动画了吗?