我正在用JS/CSS构建自定义滑块。到目前为止,我有以下几点:Javascript动作将滑块滑动到左侧或右侧
body { margin: 0; }
div#slider { overflow: hidden; }
div#slider figure img {
min-width: 215px;
width: 20vw;
height: auto;
float: left;
margin-right: 5px;
}
div#slider figure {
position: relative;
width: 140vw;
min-width: 1535px !important;
margin: 0;
left: 0;
text-align: left;
font-size: 0;
/* animation: 30s slidy infinite; */
}
@keyframes slidyleft {
0% { left: 0%; }
100% { left: -20vw; }
}
@keyframes slidyright {
0% { left: 0%; }
100% { left: 20vw; }
}
我用它如下:
<div id="slider">
<figure id="sliderfigure">
<img src="image1.png">
<img src="image1.png">
<img src="image1.png">
<img src="image1.png">
<img src="image1.png">
</figure>
</div>
在我的角码,我有一个按钮,调用滑块如下滑到左边或右边:
var elem = document.getElementById("sliderfigure");
elem.style.animation = '1s slidyleft';
var elem = document.getElementById("sliderfigure");
elem.style.animation = '1s slidyright';
但是,什么情况是,它的确被滑到右侧或左侧,但它最终再次返回到原来的位置。
我怎样才能保持它在未来的位置?
在此先感谢。
使用“1 slidyleft前锋”或“1 slidyright前锋”的JS –
那肯定工程:
更多相关信息请参见本,然而,在按下它“正确”(并且它工作正常)之后,那么如何使它当我按下“左”时从那个新位置开始,而不是原始位置 – JohnAndrews
这不会起作用,因为当你按下左边时,左边的属性设置为0,然后将其设置为-2 0vw左转。使用transform:translate()来代替。 –