jquery - 将图像旋转 45 度并在悬停时返回到相同位置

标签 jquery html css rotateanimation

悬停时,我将图像旋转 45 度,悬停时图像将回到原始位置。

我想要的是我想旋转并在一次悬停时返回到原始位置。

我在 jquery 中尝试过,但这里出了问题。

HTML 代码:

<ul class="assess-thumb-container">
    <li class="assess-thumb active">
        <img src="rex/assets/images/tests/eat.jpg" />
    </li>
    <li class="assess-thumb">
        <img src="rex/assets/images/tests/diabetes.jpg" />
    </li>
    <li class="assess-thumb">
        <img src="rex/assets/images/tests/CAT_logoSmall.png" />
    </li>
    <li class="assess-thumb">
        <img src="rex/assets/images/tests/berlin.jpg" />
    </li>
    <li class="assess-thumb">
        <img  src="rex/assets/images/tests/smoking.jpg" />
    </li>
    <li class="assess-thumb">
        <img src="rex/assets/images/tests/alcohol.jpg" />
    </li>
</ul>

Jquery 代码:

$('.assess-thumb').hover(function() {
                $(this).css({
                    "-webkit-transform" : "rotateY(45deg)",
                    "-webkit-transition" : "all .4s linear",
                    "-webkit-transform-origin" : "100% 100%",
                    "-webkit-transform-style" : "preserve-3d",
                    "-moz-transform" : "rotateY(45deg)",
                    "-moz-transition" : "all .4s",
                    "-moz-transform-origin" : "100% 100%",
                    "-moz-transform-style" : "preserve-3d",
                    "-ms-transform" : "rotateY(45deg)",
                    "-ms-transition" : "all .4s",
                    "-ms-transform-origin" : "100% 100%",
                    "-ms-transform-style" : "preserve-3d",
                    "transform" : "rotateY(45deg)",
                    "transition" : "all .4s",
                    "transform-origin" : "100% 100%",
                    "transform-style" : "preserve-3d"
                });
                $(this).delay(400).queue(function() {
                    $(this).css({
                        "-webkit-transform" : "rotateY(0deg)",
                        "-webkit-transition" : "all .4s linear",
                        "-webkit-transform-origin" : "100% 100%",
                        "-webkit-transform-style" : "preserve-3d",
                        "-moz-transform" : "rotateY(0deg)",
                        "-moz-transition" : "all .4s",
                        "-moz-transform-origin" : "100% 100%",
                        "-moz-transform-style" : "preserve-3d",
                        "-ms-transform" : "rotateY(0deg)",
                        "-ms-transition" : "all .4s",
                        "-ms-transform-origin" : "100% 100%",
                        "-ms-transform-style" : "preserve-3d",
                        "transform" : "rotateY(0deg)",
                        "transition" : "all .4s",
                        "transform-origin" : "100% 100%",
                        "transform-style" : "preserve-3d"
                    });
                }).dequeue();

最佳答案

为什么不只使用 CSS?

img:hover {
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

或者,如果您想定时执行此操作,请将其设为 css 类并使用 jQuery 按时设置/删除它。

CSS:

img.rotate {
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

JS:

$("img").hover(function() {
    var img = $(this);
    img.addClass("rotate");

    setTimeout(function() {
        img.removeClass("rotate");
    }, 400);
});

关于jquery - 将图像旋转 45 度并在悬停时返回到相同位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39072318/

相关文章:

javascript - 如何运行 get json 并保存为变量,然后在其他方法中使用它

html - 如何删除内联/内联 block 元素之间的空间?

html - 如果将大小调整回与页面加载时相同的大小,Bootstrap 列布局会在调整大小时中断

javascript - 在屏幕上定位可变大小的元素

html - 将不同的图像添加到具有相同类的 div 元素

jquery - CSS z-index 不工作

javascript - JQuery 设置 Div 样式 After Effect

javascript - 多个 ID jQuery 选择器返回的结果与单个 ID 选择器返回的结果不同

php - 我可以从 js 刷新 Yii CGridView 吗?

javascript - 使用 JQUERY 单击按钮打开新选项卡