![]() |
Pomoc oko javascripta ? document.getElementById...
Pozdrav svima,
Sastavio sam html kod i ubacio javascript, HTML:
<html> Unaprijed hvala . |
Pretpostavljam da ima puno više html kôda kad kažeš da se javascript izvrši nakon 1-2 sekunde. Probaj s ovim:
HTML:
<html> |
Jesam. Samo o njemu malo znam. A čuo sam da u njemu ima ta opcija mislim da se zove e.preventDefault (); , Samo neznam kako se pravilno korist i gdje se uglavljuje, ...?
Ali gornji odgovor mi ne odgovara jer ja javascript koristim kao eksternu skriptu, kao sastavni dio browsera (Greasemonkey), pa html kod ne mogu minjati (mislim ono body). |
Mozda uspijes naci odgovor ovdje
http://stackoverflow.com/questions/2...page-is-loaded e.preventDefault http://stackoverflow.com/questions/1...s-return-false |
Za jQuery sintaksa ide
$("#a").html(" prvi tekst" ");Itd. za ostale elemente |
Znam i za taj šablon, ali je problem samo da se to sve odradi brzo .
|
Znači niko nezna ili ... ?
|
Testirao sam tvoj kod unutar html datoteke koju sam napravio, i promjena iz 1, 2, 3 u tekst se događa instantno, bez zadrske. No to je na maltene praznoj stranici. Kako se ponasa kada stranica ima kompletan sadrzaj, trenutno nemam prilike testirati.
Ako iz nekog razloga ne mozes iskoristiti jQuery library, pokusat napraviti mali "hack": Napisi unutar js-a: var id_a = document.getElementById("a"); var id_b = document.getElementById("b"); var id_v = document.getElementById("v"); id_a.style.display="none"; id_b.style.display="none"; id_v.style.display="none"; Prvo sakrij elemente koji sadrze gornje id-jeve. (umjesto display, mozes koristiti i visibility ili opacity svojstvo ako hoces). Ako se pri ucitavanju stranice elementi sakriju instantno, tada izvrsi ostatak coda: id_a.innerHTML = " prvi tekst ";id_b.innerHTML = " drugi tekst ";id_v.innerHTML = " novi tekst ";id_a.style.display= "block"; id_b.style.display= "block"; id_v.style.display= "block"; Ako radi, ovaj kod mozes kasnije promijeniti da ne bude ovako redundantan. |
Sad se pojavio problem što kada prvi put otvaram stranicu pokazuje "1" (recimo), a kada osvježavam js se tek onda aktivira, pa sam probao i isključiti preglednik, i opet otvorim, isto, prvo ništa, a tek kada osvježim ono radi .
Nikako neće odmah. |
glupo pitanje, dali ti se nalazi taj js u footeru?
i dali si ga probao stavljati u document ready? Code:
// self executing function here |
Evo sada sam ovako napisao:
HTML:
// ==UserScript== |
Radis li na lokalnom projektu ili online?
Ako je lokalni, stvari znaju biti malo usporene (bar je meni tako)... a ako je online. Probaj napraviti ovo: Unutar CSS-a, stavi: #a, #b, #v { display: none; ili visibility: hidden; ili opacity: 0; } A onda unutar js-a (sobzirom da korisits jQuery) $(document).ready(function(){ var id_a = $("#a"); var id_b = $("#b"); var id_v = $("#v); id_a.innerHTML = " prvi tekst ";id_b.innerHTML = " drugi tekst ";id_v.innerHTML = " treci tekst ";$("#a, #b, #v").css({ ovisno o toga sto ti je unutar css-a, stavi ovo: "display": "block"; ili "opacity": 1; ili "visiblity": "visible"; }); }); Onaj event.preventDefault(); ti ne treba. A ako ga bas iz nekoga razloga zelis staviti, mada nece utjecati na nista, onda moras u ready funkciju staviti event, odnosno: $(document).ready(function(event){ bla }); |
misliš nešto ovako:
HTML:
<html> |
Ovisno o tome jeli ukljucen jquery ce ili radit ili ne. Ja sam pretpostavio da si ga includao u head tag, no ako nisi onda ovako:
umjesto Code:
var id_a = $("#a"); Code:
var id_a = document.getElementById("a"); Probaj sada |
Sva vremena su GMT +2. Sada je 04:41. |
Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 1999-2024 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger