我正在用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()來代替。 –