| Autor | Zpráva | ||
|---|---|---|---|
| Robert P. Profil * |
#1 · Zasláno: 20. 12. 2010, 09:40:11
Dobrý den, potřeboval by jsem poradit, jakým způsomes se vytváří přechody u více položek - v mém případě u více divu
document.getElementById("items").style.backgroundColor='#cbd7f4';tento kód mi pozmění barvu u divu, který má id="items id Děkuji |
||
| xmark Profil |
#2 · Zasláno: 20. 12. 2010, 09:57:35
"se stejným id" je principielně špatně. id musí být unikátní. Jestli chceš pracovat s více prvky, dej jim stejnou třídu - class.
|
||
| Robert P. Profil * |
#3 · Zasláno: 20. 12. 2010, 10:18:05
Děkuji za radu - existuje nějaký podobný příkaz tomuto:
document.getElementById("items").style.backgroundColor='#cbd7f4'; |
||
| xmark Profil |
#4 · Zasláno: 20. 12. 2010, 10:27:11
Robert P.:
Jestli jsem to správně pochopil, tak ne. Procházet objekty s danou třídou se musí v cyklu, viz třeba http://www.dynamicdrive.com/forums/showthread.php?t=9656 Ještě si říkám, že kdybys trochu popsal, k čemu to potřebuješ, možná ti to tady někdo rozmluví a ušetříš čas. Barevné změny něčeho na základě hoveru něčeho jiného(?) mi připadá jako nesmysl. Jestli potřebuješ obarvovat to, nad čím je myš, tak se to dělá jinak, hledej css hover. |
||
| __construct Profil |
#5 · Zasláno: 20. 12. 2010, 10:29:48 · Upravil/a: __construct
Môžeš použiť niečo takéto:
<script type="text/javascript">
/**
* @author Suta djpw.cz/110958#5
*/
function getElementsByClassName(className,parentElement) {
var elements = [];
var parentElement = parentElement || document.getElementsByTagName("html")[0];
var nodes = parentElement.getElementsByTagName('*');
for (var i = 0, child; child = nodes[i]; i++) {
if (child.className && hasClassName(child,className)) {
elements.push(child);
}
}
return elements;
}
function hasClassName(element,className) {
return element.className.match(new RegExp("(^|\\s)" + className + "(\\s|$)"));
}
var elementy = document.getElementsByClassName('items');
for(var i = 0, j = elementy.length; i < j; i++){
elementy[i].style.backgroundColor='#cbd7f4';
}
</script>
<div>
<img src="bla-bla.jpg" alt="" class="item">
<img src="bla-bla.jpg" alt="" class="item">
<img src="bla-bla.jpg" alt="" class="item">
<img src="bla-bla.jpg" alt="" class="item">
<img src="bla-bla.jpg" alt="" class="item">
</div>Alebo môžeš použiť framework - napr. jQuery: <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
$(function(){
$(".item").css('background-color','#cbd7f4');
});
</script> |
||
| Chamurappi Profil |
#6 · Zasláno: 20. 12. 2010, 10:56:24
Reaguji na Roberta P.:
Nebo se můžeš na dlouhé skripty prohledávající úplně všechny elementy v celém dokumentu vybodnout a jen přidat třídu společnému rodiči: document.getElementById("mother-of-items").className += " turn-blue-my-children";.turn-blue-my-children .items { background-color: #cbd7f4; }id za class, bude ti také spolehlivě fungovat:
.turn-blue-my-children #items { background-color: #cbd7f4; }Na jednu změnu zobrazení obvykle není zapotřebí víc jak jeden příkaz. Vzhled patří do CSS, ne do JavaScriptu. |
||
| Robert P. Profil * |
#7 · Zasláno: 20. 12. 2010, 19:04:13
Děkuji za informce, mám vytvořenou galerii - kde jsou obrázky uspořádány - jakým způsobem docílím aby když kliknu na libovolný obrárek se mi změnil obsah stránky a to tak že by se příslušná fotografie otevřela v
divu |
||
|
Časová prodleva: 15 let
|
|||
0