Sur mon site Web, chaque bouton de menu a ses coins arrondis à l'aide de la bibliothèque dd_roundies et dispose de gestionnaires de survol, de sortie de souris et d'onclick attribués via JQuery. Le code correspondant JS est:coins arrondis avec effets d'arrière-plan transparents
$(function(){
// Add an event handler to the menu items that changes the background colour on mouse-over
// and reverts it on mouse-out.
$('div.nav-box').hover(
function() {
$(this).addClass('highlight');
document.body.style.cursor = 'pointer';
},
function() {
$(this).removeClass('highlight');
document.body.style.cursor = 'default';
}
);
// Add an onclick handler to each menu item
$('div.nav-box').click(
function() {
// Change the current page to the 'href' value of the nested <a> element
document.location.href = $(this).find("a:first").attr("href");
}
);
// Round the corners of the menu items
DD_roundies.addRule('.nav-box', '20px', true);
});
Tout fonctionne très bien dans FF, mais dans IE7 il est un gâchis. Le problème le plus évident est que l'arrière-plan appliqué au passage de la souris est carré (et non arrondi) et, dans certains cas, l'arrière-plan ne disparaît pas après avoir cliqué sur un élément de menu puis sur mouseout.
Je ne pense pas que quiconque de comprendre comment résoudre le code ci-dessus, mais si vous connaissez une autre façon:
- applique des coins arrondis transparents à divs (tels que les émissions de couleur de l'élément parent à travers les coins arrondis)
- lorsque la couleur d'arrière-plan de la div arrondie est modifié (par exemple par un gestionnaire d'événements mouseover) la nouvelle couleur de fond occupe la même zone ronde
- œuvres dans IE7 et FF3 (au moins)
En d'autres termes, faites que le menu mentionné ci-dessus fonctionne dans IE comme dans FF. Je suis ouvert à remplacer les libs JS existants avec d'autres, en utilisant CSS à la place, ou quoi que .....
Merci, Don
Le problème est qu'il y a tellement de choses qui peuvent mal tourner dans IE7 (sans même parler d'IE6) - même si IE7 supporte la transparence PNG, il est encore lent comme l'enfer etc., donc à la fin j'ai juste décidé que IE les utilisateurs n'auront tout simplement pas des coins arrondis. Si vous ne pouvez pas faire ça, eh bien, ça craint :) –
Voilà mon plan de repli :) –