• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zresetowanie diva

Object Storage Arubacloud
0 głosów
271 wizyt
pytanie zadane 10 czerwca 2018 w JavaScript przez Bartosz Kamiński Nowicjusz (170 p.)
Witam, mam diva w którym są wykonywane kilka skryptów js i zawartość diva się zmienia. Chce by inna funkcja zresetowała tego diva, by był tak jakbym otworzyl na nowo strone i było można ponownie użyć skryptów js w divie. bez refreshu strony, tylko zresetowac diva. Pomozecie jak tego dokonac?

2 odpowiedzi

+1 głos
odpowiedź 11 czerwca 2018 przez BT101 Stary wyjadacz (12,540 p.)
edycja 11 czerwca 2018 przez BT101
Skoro zawartość tego diva się zmienia po wykonaniu jakichś funkcji, które napisałeś to w czym problem żeby napisać nową funkcje, która również zmieni zawartość diva z tym, że do stanu początkowego?
komentarz 11 czerwca 2018 przez pablop76 VIP (123,180 p.)
Pobierz outerHTML, lub innerHTML przed zmianą zawartości i zapisz do zmiennej, którą potem wykorzystasz jako " reset"
komentarz 11 czerwca 2018 przez Bartosz Kamiński Nowicjusz (170 p.)

@BT101,

Próbuje i coś mi nie wychodzi, możesz dać przyklad w kodzie?

komentarz 12 czerwca 2018 przez BT101 Stary wyjadacz (12,540 p.)
Pokaż najpierw w jaki sposób zmieniach content w divach w tych twoich funkcjach
komentarz 12 czerwca 2018 przez pablop76 VIP (123,180 p.)

@Bartosz Kamiński,

<div id="content">
      <h1>Orginalna zawartosc diva</h1>
      <p>Tresc orginalnego diva</p>
</div>
<button>zmien</button>
body{
  background-color: #000;
  color: #fff;
}
div{
  width: 400px;
  margin: 0 auto;
}
button{
  display: block;
  width: 100px;
  margin: 0 auto;
  padding: 5px;
  border: none;
  background-color: green;
  color: #fff;
  transition: all .5s;
}

.danger{
  background-color: red;
}
var btn = document.querySelector('button');
var content = document.getElementById('content');
var orginContent = content.innerHTML;
var state = true;
function change(){
  if(state){
        content.innerHTML = "<h1>Nowa zawartosc diva</h1><p>Tresc nowego diva</p>";
        btn.textContent = 'wroc';
        btn.classList.add('danger');
        state = false;
        }
        else{
        content.innerHTML = orginContent;
        btn.textContent = 'zmien';
        btn.classList.remove('danger');
        state = true;
        }}
btn.addEventListener('click',change);

 

komentarz 12 czerwca 2018 przez Bartosz Kamiński Nowicjusz (170 p.)

@BT101,

 

	<div id="missionContainer">
	<div id="kostkaw">
	<button type="submit" id="throwdicew" onclick="rzutKostka()">Rzuć kostką</button>
	</div>
	<div id="kostkam" >
	<button type="submit" id="throwdicem" onclick="rzutKostka2()">Rzuć kostką</button>
	</div>
							
	</div>
					
								
	<div id="who"></div>
							
	<div id="task"></div>
function rzutKostka()
	{
		
	 ktoryPrzycisk++;
	document.getElementById("kostkaw").innerHTML = kostka;
  if (ktoryPrzycisk == 2) {
        winner();
    }
	}

function rzutKostka2()
	{
    ktoryPrzycisk++;
	document.getElementById("kostkam").innerHTML = kostka2;
	if (ktoryPrzycisk == 2) {
        winner();
		}
	}
	
	function winner() {
    if (numer > numer2) {
	hide();
	}
	else if (numer < numer2) {
	hide();
	 }
	else{
	reload()
	
	}
	}

	

W missionContainer sa dwa przyciski, gdy sie na nie kliknie losuje kostke. Nie wiem jak ponownie załadować tego diva by potem ponownie można było losować kostke.

komentarz 12 czerwca 2018 przez BT101 Stary wyjadacz (12,540 p.)
Ja tu nie widzę logiki losowania, jest za to pełno niezadeklarowanych zmiennych, zmienna kostka i kostka2 nie istnieją a próbujesz je wrzucać do diva. A tak btw będzie ci łatwiej jak będziesz miał ładnie kod ułożony a nie tak jak teraz..

I po co używasz innerHTML na elemencie gdzie masz te guziki, to podmieni zawartość diva i guziki znikną nie lepiej po prostu wrzucać wynik działania do jakiegoś innego diva?
komentarz 12 czerwca 2018 przez Bartosz Kamiński Nowicjusz (170 p.)
To jest czesc kodu, zmienne sa ale nie wkleilem tu
0 głosów
odpowiedź 11 czerwca 2018 przez kenjiro244 Dyskutant (8,600 p.)
Najpierw musisz przywrócić diva do postaci początkowej jeżeli jest pusty to nie ma problemu pobierasz go po id czy klasie i ustawiasz mu innerHTML = ' ';

No i oczywiście musisz poprostu uruchomić te funkcję jaszcze raz masz kilka możliwości:

1. setTimeout uruchomi ci funkcję po jakimś czasie

2. przycisk znajdujący się gdzie indziej który po kliknięciu uruchomi tą funkcję

Podobne pytania

0 głosów
1 odpowiedź 364 wizyt
pytanie zadane 19 stycznia 2018 w JavaScript przez SzukającyPrzygód Bywalec (2,310 p.)
0 głosów
0 odpowiedzi 171 wizyt
0 głosów
3 odpowiedzi 626 wizyt
pytanie zadane 3 września 2016 w JavaScript przez niezalogowany

92,568 zapytań

141,420 odpowiedzi

319,620 komentarzy

61,954 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...