Poprawa Kodu

0

witam uczę się podstaw js/json/ajax itp
napisałem to tak:

function pokaz_text(){
var a = document.getElementById('oText');
a.style.display = "block";

function schowaj_text(){
var a = document.getElementById('oText');
a.style.display = "none";
}
}

i mam pytanie czy ten kod jest prawidłowy czy zle napiszany jeżeli mogę w inny sposób napisać proszę o przykład

dzięki z góry

0
  1. Dlaczego funkcja schowaj_text jest zagnieżdżona wewnątrz pokaz_text?
  2. Wykorzystuj tylko angielskie nazewnictwo.
0
Patryk27 napisał(a):

Dlaczego funkcja schowaj_text jest zagnieżdżona wewnątrz pokaz_text?

Wykorzystuj tylko angielskie nazewnictwo.

zle wkleilem

function pokaz_text(){
var a = document.getElementById('oText');
a.style.display = "block";
 }
function schowaj_text(){
var a = document.getElementById('oText');
a.style.display = "none";
}

czy lepiej to napsiać tak? a moze jeszcze inaczej da się jakoś?
$("#oText").show()
}
function schowaj_text(){
$("#oText").hide()
}

0

No jeśli masz jQuery, to wykorzystaj jQuery, natomiast jeżeli masz zaciągać cały framework po to tylko, aby wykorzystać show i hide, to lepsza jest pierwsza wersja :P

0
Patryk27 napisał(a):

No jeśli masz jQuery, to wykorzystaj jQuery, natomiast jeżeli masz zaciągać cały framework po to tylko, aby wykorzystać show i hide, to lepsza jest pierwsza wersja :P

a jeżeli mam wykorzystać id? to w jaki sposób to zrobić?
bo jak robie tak $("item_id").hide() to niestety nie działa a chciałbym też wykorzystać jQuery


function pokaz_item(item_id){
var a = document.getElementById(item_id);
a.style.display = "block";
}
function schowaj_item(item_id){
var a = document.getElementById(item_id);
a.style.display = "none";
}

0

a jeżeli mam wykorzystać id? to w jaki sposób to zrobić?
Aaaaaaaa może być tak zerknął do dokumentacji?
https://api.jquery.com/id-selector/

0
Patryk27 napisał(a):

a jeżeli mam wykorzystać id? to w jaki sposób to zrobić?
Aaaaaaaa może być tak zerknął do dokumentacji?
https://api.jquery.com/id-selector/

to jest pod diva a ja chce wykonać item_id z innej funkcji

0

Dałem Ci wystarczającą podpowiedź: jeśli chcesz odnieść się do elementu o określonym id, musi być ono poprzedzone #.
Teraz pytanie za milion punktów: w jaki sposób poprzedzisz ciąg znaków znakiem # oraz dlaczego zabierasz się za modyfikacje DOM oraz zabawę z jQuery, nie znając podstaw JavaScriptu.

1

Proponuję zrobić tak:

const toggleElement = element => element.classList.toggle('hidden');

lub po staremu:

function toggleElement(element) {
  return element.classList.toggle('hidden');
}

Dlaczego?

  • nie pobierasz elementu DOM za każdym wywołaniem funkcji - możesz go pobrać raz i przekazać jako argument do funkcji (wydajność!),
  • obsługa stylów jest wydelegowana tam gdzie jest jej miejsce - w JS podmieniasz tylko klasę elementu, reszta jest w CSS
  • funkcję można wykorzystać dla dowolnego innego elementu, nie jest sztywno powiązana z konkretnym elementem,
  • no i wiadomo - jedna funkcja zamiast dwóch dzięki toggle ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1