【问题标题】:JS animation spin on hoverJS动画在悬停时旋转
【发布时间】:2016-10-27 09:12:49
【问题描述】:

这是我关于 stackoverflow 的第一个问题。

想知道是否有人可以向我指出有关使用 JS/JQuery 动画按钮的解决方案/资源。

特别是,我无法理解的动画是在悬停时将圆形按钮旋转 180 度。

谢谢:)

【问题讨论】:

标签: javascript jquery jquery-animate


【解决方案1】:

你可以使用css关键帧

div {
    width: 100px;
    height: 100px;
    background: red;
    position :relative;
    -webkit-animation: mymove 1s infinite; /* Chrome, Safari, Opera */
    animation: mymove 1s infinite;
}


/* Standard syntax */
@keyframes mymove {
       from   {    transform: rotateY(0deg);}
to { transform: rotateY(360deg);

}

【讨论】:

  • 谢谢!有没有办法让它在悬停时旋转 180 度,然后当指针离开元素时,它会旋转回来吗?现在它在悬停时来回旋转。
【解决方案2】:

您可以使用 CSS 为按钮设置动画。 在http://www.w3schools.com/css/css3_animations.asp,您可以了解 CSS 动画。您可能还想在http://www.w3schools.com/css/css3_transitions.asp 了解 CSS 过渡。如果您要使用 JS 创建动画,您要做的就是在要设置动画的 HTML 元素上设置 CSS 过渡,然后使用 JS 设置 CSS 属性,例如 background-colortransform。您可以使用 element.style.property 访问元素的 CSS。将property 替换为您要更改或添加的属性。

【讨论】:

  • 感谢您花时间为我指明正确的方向!
【解决方案3】:

我找到的最直观的答案是这样的:

  <div class="flip-container" ontouchstart="this.classList.toggle('hover');">
    <div class="flipper">
        <div class="front">
            <!-- front content -->
        </div>
        <div class="back">
            <!-- back content -->
        </div>
    </div>
</div>

    /*CSS entire container, keeps perspective */
.flip-container {
    perspective: 1000px;
}
    /* flip the pane when hovered */
    .flip-container:hover .flipper, .flip-container.hover .flipper {
        transform: rotateY(180deg);
    }

.flip-container, .front, .back {
    width: 320px;
    height: 480px;
}

/* flip speed goes here */
.flipper {
    transition: 0.6s;
    transform-style: preserve-3d;

    position: relative;
}

/* hide back of pane during swap */
.front, .back {
    backface-visibility: hidden;

    position: absolute;
    top: 0;
    left: 0;
}

/* front pane, placed above back */
.front {
    z-index: 2;
    /* for firefox 31 */
    transform: rotateY(0deg);
}

/* back, initially hidden pane */
.back {
    transform: rotateY(180deg);
}

可以在这里找到进一步的解释:https://davidwalsh.name/css-flip

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-30
    • 1970-01-01
    • 2018-05-29
    • 2011-12-20
    • 2015-12-26
    • 2021-05-17
    • 2015-12-15
    • 2012-11-04
    相关资源
    最近更新 更多