Voici un set de fonctions PHP permettant d'afficher simplement des boutons animés, calqués sur les barres de boutons de l'interface Windows, comme celui ci :
Ce bouton est crée par une seule ligne de code simple :
<? buttonC( "javascript:alert( 'Impression du document' )", "printer", "Imprimer la page" ); ?>
Syntaxe d'utilisation
buttonC( $url, $icon, $alt, $target )
Quelques remarques sur le format des deux images formant le bouton :
b_[racine]1.gif pour le bouton au repos b_[racine]2.gif pour le bouton en position haute
Voici le code source de la fonction buttonC()
function buttonC( $url, $icon, $alt="", $target= "" ) { global $imgcnt; $imgcnt ++; // compteur des buttons $alt2= ereg_replace( "'", "\'", $alt); $img0= 'b_' . $icon . '1.gif'; $img1= 'b_' . $icon .'1'; $img2= 'b_' . $icon .'2'; JSCode($img1, $img2 ); $jscode= " onMouseOver=\"swap_img(document.img_$imgcnt, top.$img2, '$alt2');return true;\" onMouseOut=\"swap_img(document.img_$imgcnt, top.$img1,'');return true;\" ";
if( $target != '' ) $target = " target=\"$target\" ";
$res= "<a href=\"$url\" $target $jscode><img name=\"img_$imgcnt\" src=\"$BASEURL/img/$img0\" border=0 alt=\"$alt\" align=top></a>"; echo $res; }
La fonction JSCode, générant le code javascript d'animation swap_img()
ainsi que le preload des images.
function JSCode( $img1, $img2 ) { global $imgcnt; echo "<script language=\"javascript\">\n<!--\n"; echo "$img1= new Image(23,22); $img1.src = '$img1.gif'; echo "$img2= new Image(23,22); $img2.src = '$img2.gif'; // si premier appel, affiche function JS if( $imgcnt == 1 ) { ?> // swap deux images function swap_img( obj, img, helper ) { if( navigator.userAgent.lastIndexOf('Mozilla/4.') != -1 ) { obj.src= img.src; window.status= helper; } } <? } // end if $imgcnt echo "// -->\n</script>\n"; }
On peut préférer créer un fichier de ressources Javascript (par exemple buttons.js) inclus en tete de page, contenant la fonction
swap_img()
, ainsi que les lignes de codes préchargeant les images. Dans ce cas, l'appel à fonction JSCode()
est inutile.
Author | Leo West |
Created | 11 Jun 1999 |
Modified 30 Jun 2000 |