html - 为多个 div/图像设置动画以在屏幕上滑动以实现直播布局(html、css、webkit 动画)

标签 html css webkit-animation

我正在尝试为我的直播设置一个小动画,将 3 个图像从左侧滑到屏幕上,一旦所有 3 个图像都出现在屏幕上,让它们在那里停留大约 30 秒,然后滑出屏幕。我也希望每 15 分钟自动重播这个 30 秒的动画。

我创建了一张图片来更好地帮助描述我在这里为我的直播想要实现的目标。

http://imgur.com/a/qxZff

这就是说,我现在有一个有点工作的版本,但它目前只有一张图片,这是代码:

<html>
  <head>
    <style>
    .wrapper {
        position: relative;
        overflow: hidden;
        width: 500px;
        height: 500px;
    }
    #slide {
        position: absolute;
        left: -300px;
        width: 300px;
        height: 75px;
        -webkit-animation: slide 30s 0s 1;
    }
    @keyframes slide {
	    0% { left: -330px }
        3% { left: 0px }
        97% { left: 0px }
        100% { left: -330px }
    }
    </style>
  </head>
  <body>
    <div class="wrapper">
      <img id="slide" src="http://i.imgur.com/38Tfglv.png" />
    </div>
  </body>
</html>

任何输入都会很棒。我对任何与代码相关的知识都非常有限,这都是我在互联网上搜索并试图弄清楚的。感谢您的帮助!

最佳答案

这对你有用。 如果您需要了解它的工作原理,请检查并告诉我。

$(document).ready(function(){
  
  var slideOutTime=2000; // 2 Seconds
  var slideInTime=2000;  // 2 Seconds
  var slideInAfterTime=5000;  // 5 Seconds
  var repeatSlidingTime=10000;  // 10 Seconds
  
  
  function slideImage(img){
    
    img.animate({left:'0px'},slideOutTime,function(){
      setTimeout(function(){slideBack(img);},slideInAfterTime);
    });
    
    var nxt=img.next();
      if(nxt.length>0){
        setTimeout(function(){
        slideImage(nxt);},(slideOutTime/2.5));
      }else{
        setTimeout(function(){startSliding();},repeatSlidingTime);
      }
  
    }
  
  function slideBack(img){
     img.animate({left:'-300px'},slideInTime);
  }
  
  function startSliding(){
    slideImage($('.slide:first'));
    }
  
  startSliding();
   
  
  
  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
    <head>
        <style>
            .wrapper {
                position: relative;
                overflow: hidden;
                width: 500px;
                height: 500px;
            }

            .slide {
              left:-300px;
                position: absolute;
                width: 300px;
                height: 75px;                
            }
          .slide:nth-child(2) {top:100px;}
          .slide:nth-child(3) {top:200px;}

			
        </style>
    </head>
    <body>
        <div class="wrapper">
          <img class="slide" src="http://i.imgur.com/38Tfglv.png" />
          <img class="slide" src="http://i.imgur.com/38Tfglv.png" />
          <img class="slide" src="http://i.imgur.com/38Tfglv.png" />
        </div>

    </body>
</html>

关于html - 为多个 div/图像设置动画以在屏幕上滑动以实现直播布局(html、css、webkit 动画),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39092830/

相关文章:

jquery - 用 Canvas 线定位 body 元素

java - JSOUP 计数 Map 标签中的总元素数

css - 通过 div 和 css 进行类似表格的格式

jquery - 页脚菜单不会向上滑动

html - 创建了一个自定义 CSS 类,想要更改链接悬停颜色但它不起作用

javascript - 审核按钮不起作用

javascript - webkitAnimationEnd 在开始时触发

php - 从其他网站剪辑图像并将其添加到我的网站