» »

javascript - poenostavitev funkcije

javascript - poenostavitev funkcije

Malcolm_Y ::

Delam eno preprosto stran, kjer bodo gumbki in ob kliku na gumbek se pod njim pokaže en tekst.

Za vsak gumbek uporabim js funkcijo document.getElementById.innerHTML, vsak gumbek pa ima svoj ID.

In javascript je videti takole:


HTML pa takole:



Zdaj pa je problem, ker bo teh gumbkov zelo veliko (čez 200).

A se da to nekako poenostavit, pa da bi imel isto funkcionalnost?

k--p ::

Ja, imaš več možnosti, npr. z inline lahko pošlješ event, lahko pa tudi v js vežeš evente na vse gumbe z nekim classom ...


Oba načina:

.html
<script>
function myfunction(e){
console.log(e.target.innerHTML);
}
</script>
<button id="1" class="showTextButton"> dsadsa</button>
<button id="2" class="showTextButton"> dsadsa</button>
<button id="3" class="showTextButton"> dsadsa</button>
<button id="4" onclick="myfunction(event)"> dsadsa</button>
<button id="5" onclick="myfunction(event)"> dsadsa</button>
<button id="6" onclick="myfunction(event)"> dsadsa</button>

--------
.js
var buttons = document.getElementsByClassName("showTextButton");
for (var i = 0; i < buttons.length; i++) {
    buttons[i].addEventListener("click", function(e) {
    console.log(e.target.innerHTML);
 	 });
}

Zgodovina sprememb…

  • spremenilo: k--p ()

Malcolm_Y ::

O, super - točno to rabim, ja. Hvala, se bom poigral s temle, mislim, da mi to dejansko odpravi vse posamezne javascripte. Lp.

k--p ::

Jap, to je bil namen :)


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[js jquery] širina diva

Oddelek: Programiranje
141111 (979) alexa-lol
»

[jquery] .append

Oddelek: Programiranje
21869 (696) korenje3
»

while in for odštevanje - kot rezultat upošteva tudi izhodiščno vrednost

Oddelek: Programiranje
181978 (1701) slitkx
»

Javascript validacija web-to-lead forme

Oddelek: Programiranje
19997 (804) Gandalfar
»

AJAX neznana težava

Oddelek: Programiranje
81130 (924) luksorzi

Več podobnih tem