Rechercher : dans
Par :

Animation OnMouseOver sur un lien-image (JS)

Dernière réponse le 11 sep 2009 à 12:47:59 komalex, le 12 déc 2008 à 16:09:24 
 Signaler ce message aux modérateurs

Salut tout le monde :) Z'allez bien ? :p

J'ai un petit problème <barre>dans ma plantation</barre> dans mon menu :
J'essaye de faire un effet de zoom sur les lien-images lorsque le curseur va sur l'image (OnMouseOver)
et de dèzoom lorsqu'il en sort (OnMouseOut).

Seulement voilà, ça ne marche pas...voici mon script et les problèmes liés avec :
Code Javascript :
<script type="text/javascript">
<!--
var coefficient_reduction = 2;
var largeur_max = 250;
var hauteur_max = 46;

function agrandir(img) {
if (img.width < largeur_max) {
coefficient_reduction -= 0.2;
img.width = Math.round(img.width*coefficient_reduction);
img.height = Math.round(img.height*coefficient_reduction);
chang=window.setTimeout('agrandir(img);',1000);//vitesse de l'effet
}
else {
window.clearTimeout(chang);
}
}

-->
</script>


Code HTML

<a href="index.html" > <img src="accessoires.jpg" alt="Accessoires" class="lien_menu" onMouseOver="agrandir(this);" /></a>

L'image est au préalable dèzoomer au chargement de la page pour éviter la pixelisation lors du zoom, mais ce code ne nous importe pas ici.

Le problème est que l'image s'agrandit bien, ça ya pas de soucis... mais il n'y a aucun effet de zoom progressif de l'image, elle s'agrandit d'un coup sec..(j'ai déjà essayé avec plusieurs vitesse dans le setTimeOut) Je ne comprends malheureusement pas pourquoi, donc si quelqu'un a une idée... je suis preneur ! Merci :)

PS : Je n'ai pas encore fais le OnMouseOut..il est similaire au OnMouseOver mais celui ci ne marche pas donc déjà je résous ce problème :p

Configuration: Windows Vista
Firefox 3.0.4

Meilleures réponses pour « Animation OnMouseOver sur un lien image (JS) » dans :
Javascript - Librairies d'effets pour vos images VoirAu gré de vos explorations du web, vous avez vu de superbes effets de présentation des images. Et ça vous plairaît bien de pouvoir proposer les mêmes à vos visiteurs. Voici quelques solutions en Javascript couplées à des CSS. Elles sont plus...
Enlever la bordure sur une image dans un lien en HTML/CSS VoirVous avez fait une image cliquable en mettant une balise IMG au sein d'un lien et le navigateur vous affiche un cadre ou plus exactement une bordure autour de l'image. Il existe deux façons de supprimer cette bordure...
Afficher les images et les animations Flash dans le navigateur VoirQuand vous allez sur un site internet, vous n'avez plus d'images affichées ; elles sont remplacées par un petit rectangle avec un carré rouge ou un triangle bleu (par exemple). 1 - Vérifier d'abord les paramètres de votre navigateur : Pour...
Javascript - Les événements VoirQu'appelle-t-on un événement? Les événements sont des actions de l'utilisateur, qui vont pouvoir donner lieu à une interactivité. L'événement par excellence est le clic de souris, car c'est le seul que le HTML gère. Grâce au Javascript il est...
Javascript - L'objet window VoirLes particularités de l'objet window L'objet window est l'objet par excellence dans Javascript, car il est le parent de chaque objet qui compose la page web, il contient donc : l'objet document: la page en elle-même l'objet location: le lieu de...

2

Budapest, le 12 déc 2008 à 18:01:35

Bonjour,
essaye ce script :


<script language="JavaScript">
<!--
var coeff=4;//Coefficient de reduction
var larg=250;//largeur maxi de l'image
var haut=46;//hauteur maxi de l'image
var coeffinit=coeff;
function changer() {
if (document.image.width < larg) {
coeff = coeff-0.2;
document.image.width = Math.round(larg/coeff);
document.image.height = Math.round(haut/coeff);
chang=window.setTimeout('changer();',60);//vitesse de l'effet
}
else {window.clearTimeout(chang);}
}
function initial() {
if (document.image.width > larg/coeffinit) {
window.clearTimeout(chang);
coeff = coeff+0.2;
document.image.width = Math.round(larg/coeff);
document.image.height = Math.round(haut/coeff);

initi=window.setTimeout('initial();',60);//vitesse de l'effet
}
else {window.clearTimeout(initi);}
}
//-->
</script>

<script language="JavaScript">
<!--
document.image.width = Math.round(larg/coeff);
document.image.height = Math.round(haut/coeff);
//-->
</script>

code Html:

<a href="index.html" onMouseOut="initial()" onMouseOver="changer()" ><img src="im/imaga.gif" border="0" name="image" class="lien_menu" ></a>

Répondre à Budapest

3

pascal.vaise, le 16 avr 2009 à 21:28:31

Salut, j'ai essayé ton scripe, il fonctionne bien avec une image, mais dès que l'on veux en mettre plusieurs, il ne cesse de nous indiqué en erreur sur le "initi" et le "chang" qui ne sont pas défini.
Je viens juste de me mettre au java, alors peux être n'est pas saisie tous les astuce du langage.
Ce qui est étrange, depuis la " <!-- " a la ligne " //--> ", toute l'écriture est marron claire, est-ce normal ?
Merci d'avance pour tes réponces.
Cordialement.

Répondre à pascal.vaise

4

 krysler, le 11 sep 2009 à 12:47:59

Merci mec;je tacherai d'essayer tn script.

Répondre à krysler
Collection CommentÇaMarche.net