javascript - Jquery 动画仅在鼠标移动时显示。

标签 javascript jquery html css

我不知道为什么会这样,我已经用谷歌搜索过了。我制作了一个幻灯片,将最左边的元素滚动到屏幕外,然后将其附加到容器的末尾。该功能本身似乎按预期工作。但是,动画仅在我移动鼠标时显示,所以这里出了点问题。

知道什么了吗?

不移动鼠标:https://gyazo.com/78048123b10e1d2683b102419761c0ef 移动鼠标时:https://gyazo.com/f10bf8a10bc119840bd6b5b1168e79db

HTML:

<section class="photo-grid-slideshow">
        <div class="photo-crop">
            <h3>I wanna
                <div class="xs-spacer"></div>
                <a class="med-btn btn-white">Read more</a>
            </h3>
            <div class="photo-grid-container" style="background-image: url('Images and videos/odesza1.jpg');"></div>
        </div>
        <div class="photo-crop">
            <h3>Dance
                <div class="xs-spacer"></div>
                <a class="med-btn btn-white">Read more</a>
            </h3>
            <div class="photo-grid-container" style="background-image: url('Images and videos/odesza3.jpg');"></div>
        </div>
        <div class="photo-crop">
            <h3>With you
                <div class="xs-spacer"></div>
                <a class="med-btn btn-white">Read more</a>
            </h3>
            <div class="photo-grid-container" style="background-image: url('Images and videos/odesza2.png');"></div>
        </div>
    </section>

CSS:

.photo-crop {
    display: inline-block;
    overflow: hidden;
    float: left;
    width: calc(100% / 3);
    height: 100%;
    line-height: 100%;
    margin: 0;
    margin-right: 0;
    padding: 0;
    position: relative;
    left: 0;
    right: 0;
    background-position: center center;
    background-size: cover;
    transition: all 0.2s;
    text-align: left;
}

.photo-grid-slideshow {
    height: 300px;
    display: inline-block;
    min-width: 100%;
    position: relative;
    background: black;
    padding: none;
    overflow: hidden;
    background: #444;
}

Javascript:

 $(function () {
     var timer = setInterval(function() {
        $(".photo-grid-slideshow .photo-crop:first-child").animate({marginLeft: '-=33vw'}, 1000, "linear", function() {
            $(this).css("margin-left", 0).appendTo('.photo-grid-slideshow');
        });
    }, 1000);
 });

如果你能帮助我完成这项工作,我将不胜感激。 :)

最佳答案

至少我让它工作了。问题是 .photo-crop 类有 transition: ALL 。因此,它无法在 jquery 中为其设置动画。愚蠢的错误,但对我来说并不明显。

希望这对以后的其他人有帮助!

关于javascript - Jquery 动画仅在鼠标移动时显示。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35103735/

相关文章:

javascript - 识别网页中选中的文本是否为粗体

javascript - 创建一个位于应用程序之上的面板

javascript - HTML 可编辑表 : Add new row including radio buttons

javascript - Jquery - 告诉哈希什么时候改变?

javascript - jQuery UI .buttonset() 太慢

javascript - 部署到多个 subURI 时使用 Rails 的 jQuery

html - 在没有额外空间的情况下将 flex children 居中

javascript - 运行函数时未选中复选框

html - 使用 class 或 id 都不会影响此 div 的功能

javascript - 使用 angularjs 想要存储已检查的 Assets