- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在处理的页面上有一个视频 slider ,但我希望在切换幻灯片时出现漂亮的动画,而不是仅仅切换到下一张幻灯片。例如,设置幻灯片离开屏幕一侧和下一张幻灯片从另一侧进入的动画效果。
var slideIndex = 1;
showDivs(slideIndex);
function plusDivs(n) {
showDivs(slideIndex += n);
}
function showDivs(n) {
var i;
var x = document.getElementsByClassName("mySlides");
if (n > x.length) {slideIndex = 1}
if (n < 1) {slideIndex = x.length}
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
x[slideIndex-1].style.display = "block";
}
<div class="video__container" style="display: flex; display: -webkit-flex; flex-direction: row; -webkit-flex-direction: row;">
<div class="arrow__container">
<div class="video__container--arrow arrow__back" onclick="plusDivs(-1)">
<img class="img__full" src="css/images/template_arrow.svg">
</div>
</div>
<div class="video__container--item">
<!-- Must include data-id, data-bg and optional video name -->
<div class="video__slide mySlides">
<div class="youtube-container template-youtube-container">
<div class="youtube-player" data-id="bqlzoxTvOkE" data-bg="css/images/pb/video1.jpg"><span class="video-name">Branding</span></div>
</div>
</div>
<div class="video__slide mySlides">
<div class="youtube-container template-youtube-container">
<div class="youtube-player" data-id="S-sJp1FfG7Q" data-bg="css/images/pb/video2.jpg"><span class="video-name">UX Design</span></div>
</div>
</div>
<div class="video__slide mySlides">
<div class="youtube-container template-youtube-container">
<div class="youtube-player" data-id="zVntJ21thpQ" data-bg="css/images/pb/video3.jpg"><span class="video-name">UI Design</span></div>
</div>
</div>
</div>
<div class="arrow__container">
<div class="video__container--arrow arrow__next" onclick="plusDivs(1)">
<img class="img__full" src="css/images/template_arrow.svg">
</div>
</div>
</div>
最佳答案
好的,是的,很多,但我们在这里做的是避免 JavaScript 缓动动画。如果您确实想使用缓动,请使用以下链接,因为我无法像这样解释它。 https://www.kirupa.com/html5/introduction_to_easing_in_javascript.htm如果你仍然想跳过整个 easing 的学习过程(像我一样),有一种方法可以绕过它。我会给你一个简短的版本,如果你仍然感到困惑,我有一个很好的、很长的例子。首先,您必须制作一个 div 容器来容纳您的幻灯片。基本上,您将使用 JavaScript 函数为该容器分配一个类。除第一张和最后一张幻灯片外,您将为每张幻灯片制作两张幻灯片(一张向前,一张向后)。当你这样做时,确保通过分配另一个类作为空值来重置动画,否则......你刚刚创建的那些类将保存动画,但在空类中除外。添加您的动画、一些样式和 html,确保包含一个具有之前功能的按钮。我的非常简单,但您真的可以随心所欲地装饰它。
/*This is the Javascript. What we are doing here is bypassing the complexity of
Javascript animations and instead changing the class of what we want to move.
This allows us to still use the onclick function in our html, while at
the same time using css3 animations*/
function magicbtnf() {
document.getElementById('container').className = "magicslide";
}
function magicbtnb() {
document.getElementById('container').className = "magicslide2";
}
/*This is css. Most of it is styling, but I will point out importants in
comments.*/
body,
html {
width: 100%;
margin: 0;
border: 0;
font-family: "century gothic", "Arial";
font-size: 18px;
}
#container {
/*This is the container, make it 100% x the number of slides you have.
This will allow each slide to fill 100% of the screen*/
width: 200%;
overflow: hidden;
position: fixed;
display: flex;
}
#container>div {
display: inline-block;
text-align: center;
vertical-align: top;
}
#slide1 {
/* You can insert your first slide CSS in here , just make sure the width
is 1/the amount of slides you have. % is recommended, but I'm sure there
is a way to use vw.*/
height: 400px;
width: 50%;
background-color: red;
float: right;
position: relative;
}
.magicslide {
/*This is one of two classes for the animation. We will use javascript to
set and unset the classes to the slides*/
-webkit-animation: switch 4s 1;
-o-animation: switch 4s 1;
-moz-animation: switch 4s 1;
animation: switch 4s 1;
animation-fill-mode: forwards;
-webkit-animation-fill-mode: forwards;
-moz-animation-fill-mode: forwards;
-o-animation-fill-mode: forwards;
}
@-moz-keyframes switch {
0% {
margin-left: 0px;
}
25% {
margin-left: 0px;
}
50% {
margin-left: -60%;
}
100% {
margin-left: -100%;
}
}
@-o-keyframes switch {
0% {
margin-left: 0px;
}
25% {
margin-left: 0px;
}
50% {
margin-left: -60%;
}
100% {
margin-left: -100%;
}
}
@-webkit-keyframes switch {
0% {
margin-left: 0px;
}
25% {
margin-left: 0px
}
50% {
margin-left: -60%;
}
100% {
margin-left: -100%;
}
}
@keyframes switch {
0% {
margin-left: 0px;
}
25% {
margin-left: 0px
}
50% {
margin-left: -60%;
}
100% {
margin-left: -100%;
}
}
.notsomagic {
/*This is basically a void element. This resets the animation so when
you go back a slide, you can continue again.*/
height: 400px;
width: 100%;
}
#slide2 {
/*Same thing here as the earlier slide!*/
height: 400px;
width: 50%;
background-color: lightblue;
float: left;
position: relative;
}
.magicslide2 {
/*This is the same animation sequence as before, but backwards*/
-webkit-animation: switchb 4s 1;
-o-animation: switchb 4s 1;
-moz-animation: switchb 4s 1;
animation: switchb 4s 1;
animation-fill-mode: forwards;
-webkit-animation-fill-mode: forwards;
-moz-animation-fill-mode: forwards;
-o-animation-fill-mode: forwards;
}
@keyframes switchb {
0% {
margin-left: -100%;
}
25% {
margin-left: -100%;
}
50% {
margin-left: -40%
}
100% {
margin-left: 0%;
}
}
@-moz-keyframes switchb {
0% {
margin-left: -100%;
}
25% {
margin-left: -100%;
}
50% {
margin-left: -40%
}
100% {
margin-left: 0%;
}
}
@-o-keyframes switchb {
0% {
margin-left: -100%;
}
25% {
margin-left: -100%;
}
50% {
margin-left: -40%
}
100% {
margin-left: 0%;
}
}
@-webkit-keyframes switchb {
0% {
margin-left: -100%;
}
25% {
margin-left: -100%;
}
50% {
margin-left: -40%
}
100% {
margin-left: 0%;
}
}
<!--This is just some boring old html. It's esentially placing everything where it needs to go. The most noticable part is the input, which states our function from the javascript onclick -->
<!DOCTYPE html>
<html>
<head>
<title>Slide</title>
<link rel="stylesheet" type="text/css" href="change_slides.css">
<script type="text/javascript" src="change_slides.js"></script>
</head>
<body>
<div id="container">
<div id="slide1">
Hello! This is my slideshow!
<br>
<input type="button" id="change" value="Click Me!" onclick="magicbtnf()">
</div>
<div id="slide2">
This is slide #2!
<br>
<input type="button" id="change2" value="Click Me Too!" onclick="magicbtnb()">
</div>
</div>
</body>
</html>
如果您不想制作自己的动画,可以免费下载。我推荐 Animate.css。它充满了非常流畅的动画,通过一些快速编辑,您可以使它们与您的幻灯片放映效果非常好。链接是:https://daneden.github.io/animate.css/我希望这有帮助! :D
关于javascript - 按下下一张幻灯片按钮时如何为屏幕上的幻灯片设置动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43009148/
我最近为我的一个 iPhone 应用程序上传了更新,现在该应用程序刚刚准备好销售,但我只更新 iPhone 6 的屏幕截图,而不更新其他屏幕截图。现在我明白了,它们是新游戏的旧屏幕,这可能会让用户感到
我需要清除 Scala 中的控制台屏幕 我尝试过标准 ANSI Clear 屏幕,rosettacode.org 建议将其称为“终端控制/清除屏幕”here object Cls extends Ap
我需要清除 Scala 中的控制台屏幕 我尝试过标准 ANSI Clear 屏幕,rosettacode.org 建议将其称为“终端控制/清除屏幕”here object Cls extends Ap
我将从头开始,我正在开发一个跨越多个监视器的应用程序,每个监视器将包含一个 WPF 窗口,并且这些窗口使用一个 View 模型类进行控制。现在假设我在 200,300 (x,y) 处的所有窗口上都有一
谁能告诉我如何阻止矩形在我的游戏中离开面板(屏幕)?矩形随着击键并排移动。 最佳答案 这是你应该做的: 1. 跟踪矩形的 (x,y) 坐标。 2. 确保矩形的x + width 不大于JPanel 的
我正在尝试检测电源按钮是否在 4 秒内被按下 3 次。以下代码无效。 public class PowerButtonReceiver extends BroadcastReceiver{ s
我为我的新网上商店制作了一个横幅,但有一个问题。例如,当网站在我的笔记本电脑上显示为全尺寸时,横幅非常适合,但是当我在移动设备、笔记本电脑和较小尺寸的网站上看到该网站时,横幅就不合适了。我真的希望你们
我希望这个问题能够得到解决: 给定,屏幕 session 正在运行,并在终端中打开(附加)。 问题。 如果终端 session 终止,但未与屏幕 session 分离,则屏幕 session 中运行的
如何在点击通知时转到特定屏幕?我在 javascript 中使用了云功能,当我点击通知时,它打开了我的应用程序而不是特定的屏幕 _fcm.configure( onMessage: (Map m
Qt 确实支持像素比率 (devicePixelRatio),这在我的各种桌面上是不同的: ) 桌面 w1920 h1080 - 比例:1 ) 桌面 w3840 h2160 与 qputenv("QT
我一直在做一些研究,发现了这种情况。如果要写入STDOUT(屏幕),将无法执行多线程脚本,该脚本通过简单的单线程脚本可以更快地打印数据。但是,如果您写入这样的文件: myPrinter.perl >
我是 ABAP 的新手,我想制作一个具有多个屏幕和一个初始主屏幕的程序,可以在其中看到所有程序屏幕的列表。我知道我可以对它们进行硬编码,但应该有更好的方法。 如果有任何类型的字段/区域,我需要使此列表
我目前正在探索创建越狱调整。我想解锁手机屏幕。这是怎么做到的?在 iOS 7 上可以使用哪些私有(private) API 来实现这一点? 最佳答案 如果我们谈论越狱,那么您可以编写一个 Spring
我正在寻找一种方法来关闭 iPhone 屏幕而不让 iPhone 进入休眠状态。我真的不介意关闭屏幕是否违反苹果规则。将窗口 alpha 设置为 0 可以解决问题吗?我可以更改某种 boolean 值
我在 iTerm2 中使用 tmux。 当我在 bash 中时,使用 Ctrl-L 清除屏幕有效,但在我拖尾服务器日志时不起作用。我该如何解决? 最佳答案 您可以使用 send-keys -R 清除当
如何以编程方式锁定和解锁 iPhone 的主屏幕(即设备本身)? 最佳答案 这是不可能的。但是,您可以在应用程序运行时“阻止”手机锁定。 [UIApplication sharedApplicatio
我的任务是创建社交网络 我有一个主页,显示用户通过 Canvas 创建的所有绘图。用户可以在自己的绘图上绘图,并且可以添加也有权在其绘图上绘图的贡献者。问题是他们可以以某种方式同时绘制。 我想做的是,
退出后,如何从我在应用程序中打开的最后一个屏幕继续。 比如说我有屏幕A,B和C,并且在关闭应用程序之前我在屏幕B上。我的问题是当我再次打开应用程序时如何进入屏幕B。 最佳答案 当SharedPrefe
我试图停止一个进程,然后休眠10秒钟,杀死下一个进程再休眠10秒钟,然后启动另一个进程。问题是一切都立即运行。所以我想开始的过程没有运行,因为其他人都没有停止。 Start-Process Power
我正在尝试以 HW 身份进行测验。我输入的回复应该会出现在屏幕上,但事实并非如此。我使用函数response()多次检查了“15”行和“17”行中出了什么问题。我没有发现任何错误,需要调试和编写正确语
我是一名优秀的程序员,十分优秀!