バニラJavaScriptを使用してフェードイン効果を作成しようとしています。 classNameプロパティの追加は、document.createElementメソッドを使用して作成された要素に対して機能しますが、var elem = "<li> List Item </li>"
メソッドを使用しても機能していないようです。私はhtmlのIDリストを持つulを持っており、私はHTMLの文字列メソッドを使用してリスト項目を作成しています。 list.innerHTML = elemを使用してリスト項目をリストに追加し、リスト項目に「フェードイン」クラスを追加しようとしています。私はアニメーションを遅らせるためにsetTimeout関数を使用しましたが、それでも動作しません。以下のコードを参照してください。純粋なJavaScript(ライブラリなし)でHTML文字列メソッドを使用して作成した要素にCSS3アニメーションを追加
var list = document.getElementById("list");
var li = "<li> This is a list item</li>";
list.innerHTML = li;
li.className = "fade-in";
// setTimeout(function(){
// li.className = "fade-in";
// },5);
#list {
opacity: 0;
}
.fade-in {
opacity: 1;
transition: opacity 0.5s;
}
li {
list-style-type: none;
font-size: 18px;
background-color: #84ac47;
color: #fff;
padding: 10px 5px;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<ul id="list"></ul>
</body>
</html>
ありがとうございました – knight
このコードでは何が起こっているのかご説明しますか? – knight
確かに@knight。更新された回答を見る –