HTML gevorderde |
|
Je gebruikt als eerste #info om <div class="info"> te selecteren. Dit werkt niet, omdat #info een element met id="info" selecteert. Om een element bij class te selecteren moet je in CSS de punt (.) gebruiken: .info
Tevens zijn id's uniek. Wat betekend dat ze maar 1 keer voor mogen komen, wat jij dus nu als id="minibox" gebruik kan niet, deze komt veel vaker voor. Een class mag wel vaker voorkomen.
Ook moet je je aanwennen om in HTML dubbele quotes (") te gebruiken i.p.v. enkele. Dit is een soort standaard, het is niet verplicht maar is wel het best om te gebruiken.
Ook wat jij wilt niet werken. Je zal ook nog de CSS4 parent selector nodig hebben om het goed werkend te krijgen. En helaas voor jou is CSS3 nog niet eens uit, dus CSS4 duurt nog jaren.
Je kunt, zoals koosax probeert te zeggen, beter JS hiervoor gebruiken. Voorbeeldjes:
var elems = document.getElementsByClassName('minibox'); // alle .minibox elementen
info = document.getElementById('info'); // het #info element
for( i=-1; elem = elems[++i]; ) {
elem.onmouseover = function() { // als de muis over een .minibox gaat
info.className += 'hovered'; // geef #info een .hovered class mee (stijl deze in CSS)
};
elem.onmouseout = function() { // als de muis van het element af gaat
info.className = info.className.replace(/hovered/, ''); // haal de hovered class weg
};
}
var elems = document.getElementsByClassName('minibox'); // alle .minibox elementen info = document.getElementById('info'); // het #info element for( i=-1; elem = elems[++i]; ) { elem.onmouseover = function() { // als de muis over een .minibox gaat info.className += 'hovered'; // geef #info een .hovered class mee (stijl deze in CSS) }; elem.onmouseout = function() { // als de muis van het element af gaat info.className = info.className.replace(/hovered/, ''); // haal de hovered class weg }; }
Of een framework als MooTools:
document.addEvent('domready', function() {
var elems = $$('.minibox');
info = $('info');
elems.each( function( elem ) {
elem.addEvents({
mouseenter : function() {
info.addClass('hovered');
},
mouseleave : function() {
info.removeClass('hovered');
}
});
});
});
document.addEvent('domready', function() { var elems = $$('.minibox'); info = $('info'); elems.each( function( elem ) { elem.addEvents({ mouseenter : function() { info.addClass('hovered'); }, mouseleave : function() { info.removeClass('hovered'); } }); }); });
|