Multi onmouseover и onmouseout

d_badboy

Registered
Как мога да приложа на няколко дива едновременно тези събития за смяна на фона и как за смяна на CSS класа ?
 
Създай функция, и като параметър задавап id-то на всеки див, който искаш да променяш
 
Няма ли начин това да стане с getElementsByTagName където са един и същи CSS клас и как ще стане ? Аз съм стигнал само до тук :)
Код:
var check_hover = document.getElementsByTagName('div');
    if (check_hover.className=="hover") {
        
    }
 
d_badboy каза:
Няма ли начин това да стане с getElementsByTagName където са един и същи CSS клас и как ще стане ? Аз съм стигнал само до тук :)
Код:
var check_hover = document.getElementsByTagName('div');
    if (check_hover.className=="hover") {
        
    }
Еми да, защо не!Вземаш всички тагове, които са "DIV" и на тези, които имат клас "hover" им сменяш bakcground-a
 
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
.main {
	background:red;
	width:50px;
	height:50px;
}
.main_new {
	background:blue;
	width:100px;
	height:100px;
}
</style>
<script type="text/javascript">
function changeClass(){
var check_hover = document.getElementsByTagName('div');
var i;
for(i=0; i<check_hover.length; i++){
    if (check_hover[i].className=="main") {
       check_hover[i].setAttribute("class", "main_new");
    }
}
}
</script>
</head>

<body>
<div class='main' id="main" onclick="changeClass();></div>
</body>
</html>
 
Може ли това да стане без нужда от натискане някаде просто дивовете да имат ховер ефект ?
 
Точно това ми беше целта да не използвам навсякъде onmouseover и onmouseout понеже има доста дивове.
Пробвах това но не се получава:
Код:
    var check_hover = document.getElementsByTagName('div');
    for (var i=0;i<check_hover.length;i++) {
        if (check_hover[i].className=="hover") check_hover[i].style.backgroundColor="#666666";
        else  check_hover[i].style.backgroundColor="#333333";
    }
 
d_badboy каза:
Точно това ми беше целта да не използвам навсякъде onmouseover и onmouseout понеже има доста дивове
Еми нали ти трябва event handler.Как ше разбере "кода" кво да прави, като минеш с мишката върху дива???
Друг по-лесен начин е с jQuery:
jQuery(document).ready(function(){
jQuery("div").hover(function(){
jQuery(this).addClass('името на класа');
});
});
 

Back
Горе