Как я могу восстановить страницу в его первоначальном состоянии, если состояние веб -сайта сохраняется в локальном храниJavascript

Форум по Javascript
Ответить
Anonymous
 Как я могу восстановить страницу в его первоначальном состоянии, если состояние веб -сайта сохраняется в локальном храни

Сообщение Anonymous »

Я хочу добавить кнопку сброса на веб -сайт ниже, которая вернет веб -страницу в его начальное состояние. Может ли кто -нибудь помочь мне с этим? < /P>
Заранее. < /P>





body {
margin: 0;
background: #000000;
}

div.removable {
color: #ffffff;
font-size: 25px;
font-family: Arial;
padding: 12px 8px 12px 10px;
cursor: pointer;
}

button {
padding: 10px 15px;
font-size: 16px;
cursor: pointer;
margin-top: 10px;
position: fixed;
top: 10px; /* Pas deze waarde aan om de verticale positie te bepalen */
right: 10px; /* Pas deze waarde aan om de horizontale positie te bepalen */
padding: 10px 15px;
font-size: 16px;
cursor: pointer;
z-index: 1000; /* Zorg ervoor dat de knop boven andere elementen ligt */
}




Task 1
Task 2
Task 3

Undo


const removalHistory = []; // Array om verwijderde elementen en hun posities op te slaan
const listContainer = document.body; // De container van de verwijderbare elementen

// Functie om de huidige staat van de lijst op te slaan in Local Storage
function saveListState() {
const remainingItems = Array.from(document.querySelectorAll('.removable')).map(item => item.textContent);
localStorage.setItem('todoListState', JSON.stringify(remainingItems));
}

// Functie om de opgeslagen staat van de lijst te laden
function loadListState() {
const savedState = localStorage.getItem('todoListState');
if (savedState) {
const items = JSON.parse(savedState);
// Verwijder alle bestaande items
document.querySelectorAll('.removable').forEach(item => item.remove());
// Voeg de opgeslagen items opnieuw toe
items.forEach(text => {
const newDiv = document.createElement('div');
newDiv.className = 'removable';
newDiv.textContent = text;
newDiv.onclick = function() { removeElement(this); };
listContainer.insertBefore(newDiv, document.getElementById('undoButton'));
});
// Reset de undo geschiedenis omdat de pagina opnieuw is geladen
removalHistory.length = 0;
document.getElementById('undoButton').disabled = true;
}
}

function removeElement(el) {
removalHistory.push({
element: el,
previousSibling: el.previousElementSibling
});
el.remove();
document.getElementById('undoButton').disabled = false;
saveListState(); // Sla de staat op na een verwijdering
}

function undoLastRemoval() {
if (removalHistory.length > 0) {
const lastRemoval = removalHistory.pop(); // Haal de laatste verwijdering uit de geschiedenis
const elementToRestore = lastRemoval.element;
const previousSibling = lastRemoval.previousSibling;

if (previousSibling) {
previousSibling.insertAdjacentElement('afterend', elementToRestore);
} else {
listContainer.insertBefore(elementToRestore, listContainer.firstChild);
}

// Schakel de undo knop uit als er geen verwijderingen meer zijn om ongedaan te maken
document.getElementById('undoButton').disabled = removalHistory.length === 0;
saveListState(); // Sla de staat op na een undo
}
}

// Laad de opgeslagen staat wanneer de pagina geladen is
window.onload = loadListState;





Подробнее здесь: https://stackoverflow.com/questions/796 ... ed-to-loca
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»