【问题标题】:How to animate logo image from right to left infinite horizontal?如何从右到左无限水平地为徽标图像设置动画?
【发布时间】:2018-02-17 12:46:42
【问题描述】:

我有超过 10 张徽标图片。在页面加载时,我只需要显示 6 个徽标,其余徽标将从右侧无限水平滑动到左侧。

你能帮我解决关键帧和 CSS 吗?

我找到了这个例子 https://codepen.io/mdashikar/pen/VWPvgE 但对我来说不是 100%。如果您注意到图像是从右到左的幻灯片,请等待几秒钟,然后再次滑动。我需要图像应该不停地滑动。

.logo_slider {}
.logo_slider ul { 
  margin: 0;
  padding: 0;
  list-style: none;
}

.logo_slider ul li {
  display: inline-block;
  border: 1px solid #ccc;
  margin: 20px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
}

.logo_slider ul li a img {
  width: 100%;
  -webkit-animation: mymove 5s infinite; /* Safari 4.0 - 8.0 */
  animation: mymove 5s infinite;
}	

/* Safari 4.0 - 8.0 */
@-webkit-keyframes mymove {
  from { right: 0px;  }
  to   { left: 200px; }
}

/* Standard syntax */
@keyframes mymove {
  from { right:0px;   }
  to   { left: 200px; }
}
<div class="logo_slider">
  <ul>
    <li><a href=""><img src="https://upload.wikimedia.org/wikipedia/commons/a/ab/Android_O_Preview_Logo.png"></a></li>
    <li><a href=""><img src="https://upload.wikimedia.org/wikipedia/commons/a/ab/Android_O_Preview_Logo.png"></a></li>
    <li><a href=""><img src="https://upload.wikimedia.org/wikipedia/commons/a/ab/Android_O_Preview_Logo.png"></a></li>
    <li><a href=""><img src="https://upload.wikimedia.org/wikipedia/commons/a/ab/Android_O_Preview_Logo.png"></a></li>
    <li><a href=""><img src="https://upload.wikimedia.org/wikipedia/commons/a/ab/Android_O_Preview_Logo.png"></a></li>
    <li><a href=""><img src="https://upload.wikimedia.org/wikipedia/commons/a/ab/Android_O_Preview_Logo.png"></a></li>
    <li><a href=""><img src="https://upload.wikimedia.org/wikipedia/commons/a/ab/Android_O_Preview_Logo.png"></a></li>
    <li><a href=""><img src="https://upload.wikimedia.org/wikipedia/commons/a/ab/Android_O_Preview_Logo.png"></a></li>
    <li><a href=""><img src="https://upload.wikimedia.org/wikipedia/commons/a/ab/Android_O_Preview_Logo.png"></a></li>
  </ul>
</div>

【问题讨论】:

  • 左/右仅适用于定位元素
  • @TemaniAfif,我找到了示例codepen.io/mdashikar/pen/VWPvgE,但对我来说不是 100%。如果您注意到图像是从右到左的幻灯片,请等待几秒钟,然后再次滑动。我需要图像应该不停地滑动。

标签: jquery html css


【解决方案1】:

这是你要找的吗?

.logo_slider {
  overflow: hidden;
}

.logo_slider ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.logo_slider ul li {
  display: inline-block;
  border: 1px solid #ccc;
  margin: 20px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
}

.logo_slider ul li a img {
  position: relative;
  width: 100%;
  position: relative;
}

.logo_slider ul li:nth-child(1n+7) a img {
  -webkit-animation: mymove 5s infinite;
  /* Safari 4.0 - 8.0 */
  animation: mymove 5s infinite;
}


/* Safari 4.0 - 8.0 */

@-webkit-keyframes mymove {
  from {
    left: 100vw;
  }
  to {
    left: 0;
  }
}


/* Standard syntax */

@keyframes mymove {
  from {
    left: 100vw;
  }
  to {
    left: 0;
  }
}

另外看看我的codepen:https://codepen.io/zothynine/pen/VQyzQZ

【讨论】:

  • 感谢您的回复。我必须在您的代码中工作的页面日志上显示前 6 个徽标,但现在我必须从右到左一个一个地滑动每个徽标。例如codepen.io/mdashikar/pen/VWPvgE
  • 在上面的例子中,一张图片是从右到左的幻灯片。请注意图像向左滑动并等待几秒钟然后再次滑动。我需要像选框一样继续无限滑动。
  • 我更新了我的笔。如果更符合您的需求,您可以看看吗?
  • 是的,我只需要这样,但你添加了 30 个徽标图像,它不会滑动到 30 一次到达最后然后我必须从一个滑动
  • 是的,我知道,很抱歉。我有点着急。我想知道这个解决方案是否朝着正确的方向发展。我会尽快更新我的笔。
【解决方案2】:

试试这个应该可以的

// Fetch variables
var scrollTop = $(document).scrollTop();
var windowHeight = $(window).height();
var bodyHeight = $(document).height() - windowHeight;
var scrollPercentage = (scrollTop / bodyHeight);

// if the scroll is more than 90% from the top, load more content.
if(scrollPercentage > 0.9) {
    // Load content
}

【讨论】:

  • 感谢您的回复。你能分享整个代码或sn-p吗?因为这对我来说很难理解。
  • 只需在加载内容部分编写您需要的代码。
猜你喜欢
  • 1970-01-01
  • 2012-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多