Mouse over на 3 див-а?

Th3MaN

Registered
Здравейте,

значи имам 3 дива. Искам когато посоча един от 3те с мишката да се променя фона му плюс на другите 2

Примерно да кажем че това са ми дивоте |1|2|3| и когато посоча 2 да се променя фона и на 1 и на 3?


Как може да стане това? С CSS или с JavaScript няма много значение трябва ми само да работи.

Благодаря предварително на отзовалите се :)
 
Ето ти един вариант
function changebg(excemp) {
for (i = 1; i <= 3;i++) {
if (i == excemp) { document.getElementById(i).style.backgroundColor = 'red'; }
else { document.getElementById(i).style.backgroundColor = 'blue'; }
}
}
<div id="1" onMouseover="changebg('1');"> ала бала портокала </div>
<div id="2" onMouseover="changebg('2');"> ала бала портокала </div>
<div id="3" onMouseover="changebg('3');"> ала бала портокала </div>
 
Това добре обаче понеже имам на няколко места такива и ми трябва да е с други id-та Така с тоя цикъл май няма да стане? А и трябва като се махне мишката пак да става нормалния цвят... Може ли да стане?
 
По първият ти въпрос ,преправи функцията така
function changebg(excemp) {
var divs = new Array();
divs[1] = "div1";
divs[2] = "div2";
divs[3] = "div3";
for (i = 1; i <= (divs.length - 1);i++) {
if (divs == excemp) { document.getElementById(divs).style.backgroundColor = 'red'; }
else { document.getElementById(divs).style.backgroundColor = 'blue'; }
}
}[и колкото искаш дивове.
И отново в самия див добави
<div id="div1" onMouseover="changebg('div1');"> ала бала портокала </div>

А по вторият ти въпрос не го разбрах , то нали си проверява всички дивове и на този ,който е Mouseover добавя нов клас (в случая го прави червен) , а на останалите добавя стария клас (демек ги прави сини) ? :idea:
 
Не не аз друго искам :(

Искам като ги посоча и да се оцветяват и 3те в един цвят. Като махна мишката от тях и да се връща старият им цвят...

Все едно hover ефект на меню обаче да оцветява и другите два дива не само посочения.


Като в случая това са ъглите на бутон. И като посоча бутона искам да светка. Като не съм го посочил да си е нормален. Защото сега като го направа се оцветява само средната част и става гадно...
 
Аха ,ясно : ) Пак не съм в час нещо :D
<html>
<head>
<title> Change Div Background Color </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function changebg(what) {
var divs = new Array();
divs[1] = "div1";
divs[2] = "div2";
divs[3] = "div3";
for (i = 1; i <= (divs.length - 1);i++) {
if (what == "add") { document.getElementById(divs).style.backgroundColor = 'blue'; }
else { document.getElementById(divs).style.backgroundColor = 'red'; }
}
}
</script>
</head>
<body>
<div id="div1" onMouseover="changebg('add');" onMouseout="changebg('remove');"> ала бала портокала </div>
<div id="div2" onMouseover="changebg('add');" onMouseout="changebg('remove');"> ала бала портокала </div>
<div id="div3" onMouseover="changebg('add');" onMouseout="changebg('remove');"> ала бала портокала </div>
</body>
</html>
 
Още един проблем :( Значи сега е направено да може да се добавят колкото си искам дивове и те да се оцветяват всички. Обаче на мен ми трябва да е с 3 дива който да представляват един бутон и да има другате пак 3 дива който да са друг бутон и т.н. и с една фунцкия да се оцветяват... И другото може ли за бекграунд да се сложи картинка вместо цвят?

Аз пробвах така document.getElementById(divs).style.background Image='image.gif'; Обаче нещо не става?
 

Back
Горе