ďťż

[javascript] OnMouseOver - nie działa

       

Podstrony


telcocafe

Zrobiłem takie coś:

[..] <script type="text/javascript"> function one() { this.style.border = '1px solid red'; } </script> [..] <div class="menu_item" onmouseover="one();"> <span>Galeria</span> </div> <div class="menu_item" onmouseover="one();"> <span>Informacje</span> </div> [..]

Jednak nie działa
Co można z tym zrobić?



Spróbuj przekazać identyfikator jako zmienną funkcji zamiast odwoływać się w samej funkcji. To powinno pomóc.

identyfikator? chodzi ci o ID?
ja właśnie chce to zrobić nie używając: getElementById :(


Co można z tym zrobić?
Można poprawić :)

w kodzie js:
function one(arg)
{
arg.style.border='solid black 10px';
}

a w kodzie html:
<div onmouseover=one(this);></div>



dzięki :P działa
a masz może pomysł jak skrócić ten kod? żeby za każdym razem nie trzeba było pisać onmouseover, onmouseout zaś żeby funkcje one() i two() były zawsze dodawane do divów klasy menu_item :P

<div class="menu_item" onmouseover="one(this);" onmouseout="two(this)"> <span>Nowości</span> </div> <div class="menu_item" onmouseover="one(this);" onmouseout="two(this);"> <span>Galeria</span> </div> <div class="menu_item" onmouseover="one(this);" onmouseout="two(this);"> <span>Informacje</span> </div> <div class="menu_item" onmouseover="one(this);" onmouseout="two(this);"> <span>Skład</span> </div>

Należy w pętli po załadowaniu strony pobrać wszystkie elementy div strony i sprawdzając czy dany element ma daną klasę ustawić zdarzenia.
document.getElementByTagName('DIV')

może jakiś kod? ^^
nie znam się za bardzo na Javascript


Należy w pętli po załadowaniu strony pobrać wszystkie elementy div strony i sprawdzając czy dany element ma daną klasę ustawić zdarzenia.
document.getElementByTagName('DIV')

po co wszystkie div skoro jest gotowa funkcja getElementsByClassName()


może jakiś kod? ^^
nie znam się za bardzo na Javascript

jedną funkcję już podałem wyżej, teraz poszukaj coś o drugiej potrzebnej Ci funkcji: addEventListener()

google nie boli a js nie jest taki trudny :)

pozdrawiam

@up: mądralo, takie funkcje to istnieją tylko w FF -.- Profesjonalistą nie jesteś, uwzględniając tylko jedną przeglądarkę.

document.getElementsByClassName = function(className) { /* function by Riddle */ var children = document.getElementsByTagName('*') || document.all; var elements = new Array(); for (var i = 0; i < children.length; i++) { var child = children[[i][/i]i]; var classNames = child.className.split(' '); for (var j = 0; j < classNames.length; j++) { if (classNames[j] == className) { elements.push(child); break; } } } return elements; }
Kontynuując: robisz pętlę i każdemu przypisujesz dany event.

Pomoc:
http://perfectionorv...lementow-w-dom/
http://perfectionorv...awanie-zdarzen/

@down:
Stopień zaangażowania oceniłem po poście, więc nie miej mi za złe tego co napisałem ;) Acz jeśli Cię w jakikolwiek sposób uraziłem, to z serca przepraszam.
Co do samej funkcji wiedz, że tak samo ja mogę podać jakąś inną nazwę (choćby własną) i żadne wyszukiwarki nie pomogą. A porównywanie tego do Smary jest IMO nierozsądne, gdyż Smarty jest samo w sobie dość często spotykanym systemem (skórek). Jeśli podaje się funkcję, która nie jest na standardowym "wyposażeniu" przeglądarki, powinno się choćby o tym wspomnieć (o Smarty również, jeśli temat nie nawiązuje konkretnie do niego).
Użytkownik DJ_ProG edytował ten post 03 wrzesień 2007, 17:13

@up: mądralo takie funkcje to istnieją tylko w FF -.- Profesjonalistą nie jesteś, uwzględniając tylko jedną przeglądarkę.
Drogi adwersarzu.
Nigdzie nie napisałem, że jestem profesjonalistą co słusznie byłeś łaskaw zauważyć. Co więcej: _bardzo_daleko_ mi do profesjonalizmu. Za mądralę też się nie uważam, choć jak widzę Ty masz odmienne zdanie ;p
Napisałem, że jest gotowa funkcja. Czy skłamałem? Z Twojego postu chyba wynika, że raczej nie. Sam jedną z gotowych funkcji przedstawiłeś w swym poście. Nigdzie nie napisałem, iż jest to funkcja wbudowana w przeglądarkę. Uznałem że hint w postaci nazwy funkcji wystarczy (bo powinien; zresztą sam sprawdź co google odpowie na getElementsByClassName). Czy gdybym na pytanie o szablony i php rzucił hasło Smarty zaraz alarmowałbyś, iż w php czegoś takiego nie ma? Chyba nie jak sądzę....
Po cóż wynajdować koło od roweru skoro już dawno to zrobiono? Jestem z tych co to ryb nie rozdają więc dałem koledze 'wędkę' (czytaj nazwy 2 funkcji). Wystarczyło powędkować w google i po problemie.....
Pozdrawiam.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.