如何添加一個值爲50而不是將左側的屬性設置爲50?我怎樣才能增加價值沒有設定值
document.getElementById("myDiv").style.left = "50px";
我想爲我的圖片滑塊獲得流暢的動畫效果。
如何添加一個值爲50而不是將左側的屬性設置爲50?我怎樣才能增加價值沒有設定值
document.getElementById("myDiv").style.left = "50px";
我想爲我的圖片滑塊獲得流暢的動畫效果。
您可以解析該值併爲其添加一些值。
document.getElementById("myDiv").style.left =
(parseInt(document.getElementById("myDiv").style.left, 10) + 50) + 'px';
我想我必須在這裏得到更多的朋友:)你的回答是正確的,但缺乏「流暢的動畫」部分。 –
如果我理解正確的問題,那麼這是一個純粹的CSS溶液。
.slide {
animation-name: slide;
animation-iteration-count: 1;
animation-duration: 5s; /* or: Xms */
animation-timing-function: ease-out; /* or: ease, ease-in, ease-in-out, linear, cubic-bezier(x1, y1, x2, y2) */ \t
margin-left:50px;
}
@keyframes slide {
0% { opacity: 0;position:relative;margin-left:-100% }
5% { opacity: 0;position:relative;margin-left:0 }
100% { opacity: 1;position:relative;margin-left:50px; }
}
<div class="slide">this is a slowly sliding div</div>
您可以添加具有您要使用JavaScript上,例如點擊一個按鈕動作動畫效果的一類:在片段
document.getElementById("myButton").addEventListener('click' , function(e) {
e.preventDefault();
document.getElementById("myDiv").classList.add("slide");
});
像下面
document.getElementById("myDiv").classList.add("slide");
.slide {
animation-name: slide;
animation-iteration-count: 1;
animation-duration: 5s; /* or: Xms */
animation-timing-function: ease-out; /* or: ease, ease-in, ease-in-out, linear, cubic-bezier(x1, y1, x2, y2) */ \t
margin-left:50px;
}
@keyframes slide {
0% { opacity: 0;position:relative;margin-left:-100% }
5% { opacity: 0;position:relative;margin-left:0 }
100% { opacity: 1;position:relative;margin-left:50px; }
}
<div id="myDiv">this is a slowly sliding div</div>
爲什麼不使用CSS動畫或(如果您的兼容性需求非常好)使用一些現有的JS動畫庫? – Richard
嗯,我對js來說很新,我想嘗試一下,但是它會做我想。只有我需要的是通過點擊一個按鈕標籤添加一個值的HTML屬性。所以,如果我點擊它將廣告「左」屬性50px。 –