左の属性を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("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>
document.getElementById("myButton").addEventListener('click' , function(e) {
e.preventDefault();
document.getElementById("myDiv").classList.add("slide");
});
ように
CSSアニメーションを使用しないでください(または、互換性の必要性が高い場合は)既存のJSアニメーションライブラリを使用してください。 – Richard
まあ、私はかなりjsに新しいです。私はそれを試してみたいですが、確かにそれは私が推測するでしょう。私が必要とするのは、ボタンタグをクリックしてhtmlの属性に値を追加することだけです。だから、もしそれをクリックすると、広告は "left"属性50pxになります。 –