我目前正在創建一個待辦事項列表,我有一個想法,但我不知道如何實現它。動態創建動畫元素?
當我將項目添加到我的列表中時,我希望他們對.fadeIn('slow')但我不知道如何做到這一點!我知道如何$('ul')。fadeIn('slow'),但有沒有辦法讓動畫在函數todoList.addListHTML()被調用時發生?
我本來有:
$('ul').fadeIn('slow')
顯然,這是行不通的,因爲UL不存在時,頁面加載。
下面是代碼,現在這是很衝,而不是重構或任何東西:
let ul = document.createElement('ul');
ul.id = "todoList";
let todoList = {
todos: ['item 1', 'item 2', 'item 3'],
displayTodos: function(){
console.log(this.todos);
},
changeTodo: function(position, newValue){
this.todos[position] = newValue;
this.displayTodos();
},
addTodo: function(todo){
let unList = document.getElementById('todoList');
let li = document.createElement('li');
let span = document.createElement('span');
span.textContent = todo;
li.appendChild(span);
ul.appendChild(li);
document.body.appendChild(ul);
this.displayTodos();
},
removeTodos: function(position, endRemove){
this.todos.splice(position, endRemove);
this.displayTodos();
},
doubleList: function(){
let newArr = [];
let arrSize = this.todos.length;
console.log(newArr);
for(let i = 0; i < arrSize; i++){
newArr.push(this.todos[i]);
this.todos.push(newArr[i]);
}
this.displayTodos();
},
addListToHTML(){
document.body.appendChild(ul);
console.log(document.body.children);
for(let i = 0; i < this.todos.length; i++){
let li = document.createElement('li');
let span = document.createElement('span');
span.textContent = this.todos[i];
li.appendChild(span);
ul.appendChild(li);
}
},
clearList: function(){
document.body.removeChild(ul);
}
};
您可以提供當前的代碼? – N3SS4H
我已經走了,並添加了我的代碼。我之前沒有添加它的唯一原因是因爲我沒有爲我想實現的想法寫任何內容,但是我寫的任何內容都沒有取得任何結果。 –