Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/09/2011, 13h40   #1
Invité de passage
 
Homme
Inscription : septembre 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Côte d'Or (Bourgogne)

Informations forums :
Inscription : septembre 2011
Messages : 6
Points : 0
Points : 0
Par défaut Animation qui se répète

Bonjour, j'ai un souci :

j'ai une liste de produits(prestashop) qui s affiche dans des <li>, j'ai fait un script qui affiche un bloc "en savoir plus" en opacity lorsque je passe ma souris sur une des <li> sauf que cet effet affiche tout mes blocs "en savoir plus" lorsque je passe ma souris sur une des <li> , j'ai chercher pendant des heures sur le net, fait plusieurs test avec différentes fonctions mais toujours le meme souci ! si quelqu'un pourrait me filer un coup de main ce serai sympa car la je bloque !

Ci joint le code (css, js et html/php):


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
.category-bloc-hover{
background:url(../img/overlay.png);
color:white;
font-size:12px;
line-height:25px;
display:block;
}
#englobhover{
position:absolute;margin:65px 0 0 12px;
width:150px;
height:25px;
line-height:25px;
display:block;
}
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
$(document).ready(function(){
		$('#englobhover span').hide(); 
 
		$('#product_list li').hover(function(){
			$('#englobhover span').fadeToggle(500);
		});
 
		$('#product_list li').mouseleave(function(){
			$('#englobhover span').hide('fade');
		});
 
	return false;
});
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
<!-- Products list -->
	<ul id="product_list" class="clear">
	{foreach from=$products item=product name=products}
		<li class="ajax_block_product {if $smarty.foreach.products.first}first_item{elseif $smarty.foreach.products.last}last_item{/if} {if $smarty.foreach.products.index % 2}alternate_item{else}item{/if} clearfix">
			<h3 id="englobhover"> <span class="category-bloc-hover">Voir le produit</span></h3>
 
				<a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home')}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} /></a>
				<h3 class="titre-produits">{if isset($product.new) && $product.new == 1}{/if}<a href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.name|escape:'htmlall':'UTF-8'}">{$product.name|truncate:35:'...'|escape:'htmlall':'UTF-8'}</a></h3>
 
 
 
				{if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="on_sale">{l s='On sale!'}</span>
				{elseif isset($product.reduction) && $product.reduction && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="discount">{l s='Reduced price!'}</span>{/if}
				{if isset($product.online_only) && $product.online_only}<span class="online_only">{l s='Online only!'}</span>{/if}
				{if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
 
				<!-- prix -->{if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}<span class="category-prix-produits"">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span><br />{/if}
 
				{/if}
 
		</li>
	{/foreach}
	</ul>
sixweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 13h45   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
mouseenter et mouseleave ?
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 13h51   #3
Invité de passage
 
Homme
Inscription : septembre 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Côte d'Or (Bourgogne)

Informations forums :
Inscription : septembre 2011
Messages : 6
Points : 0
Points : 0
Citation:
Envoyé par SpaceFrog Voir le message
mouseenter et mouseleave ?
non il y a que mouseleave !
sixweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 14h03   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 040
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 040
Points : 45 141
Points : 45 141
ben justement !
remplace ton hover par mouseenter !
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 14h06   #5
Invité de passage
 
Homme
Inscription : septembre 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Côte d'Or (Bourgogne)

Informations forums :
Inscription : septembre 2011
Messages : 6
Points : 0
Points : 0
Citation:
Envoyé par SpaceFrog Voir le message
ben justement !
remplace ton hover par mouseenter !
j'ai deja essayé et c'est toujours pareil !

je te joint le lien du site en dev par mp si tu veux voir ce que a donne !
sixweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 14h24   #6
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 789
Points : 35 789
Code :
1
2
3
$('#product_list li').hover(function(){
	$(this).fadeToggle(500);
});
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 14h29   #7
Invité de passage
 
Homme
Inscription : septembre 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Côte d'Or (Bourgogne)

Informations forums :
Inscription : septembre 2011
Messages : 6
Points : 0
Points : 0
Citation:
Envoyé par Bovino Voir le message
Code :
1
2
3
$('#product_list li').hover(function(){
	$(this).fadeToggle(500);
});
merci bovino, mais dans cette fonction c'est que mon element #product_list li qui a un effet et mon bloc #englobhover span ne s'affiche pas car il n'est pas appelé.

Je souhaiterai que quand je passe ma souris sur #product_list li mon bloc #englobhover span s'affiche .

désolé je débute en js !
sixweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 14h39   #8
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 789
Points : 35 789
Code :
$(this).find('#englobhover span')
Mais bon, vu que tu as manifestement des id qui se répètent, ça risque d'être problématique...
Ou sinon
Code :
$(this).find('h3 span')
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 14h43   #9
Invité de passage
 
Homme
Inscription : septembre 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Côte d'Or (Bourgogne)

Informations forums :
Inscription : septembre 2011
Messages : 6
Points : 0
Points : 0
Citation:
Envoyé par Bovino Voir le message
Code :
$(this).find('#englobhover span')
Mais bon, vu que tu as manifestement des id qui se répètent, ça risque d'être problématique...
Ou sinon
Code :
$(this).find('h3 span')
merci bovino ca marche niquel.

Je joint le code si ca peut aider quelqu un sait on jamais

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<script type="text/javascript">
$(document).ready(function(){
		$('#englobhover span').hide(); 
 
		$('#product_list li').hover (function(){
			$(this).find('h3 span').fadeToggle(500);
		});
 
		$('#product_list li').mouseleave(function(){
			$(this).find('h3 span').hide('fade');
		});
 
	return false;
}); 
</script>
sixweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 14h52   #10
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 789
Points : 35 789
Le mouseleave est inutile : hover gère à la fois le mouseenter et le mouseleave.
Si tu ne lui passes qu'une fonction en paramètre, elle sera exécutée pour chacun des deux événements, si tu en passes deux, elles seront appelées alternativement.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 14h53   #11
Invité de passage
 
Homme
Inscription : septembre 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Côte d'Or (Bourgogne)

Informations forums :
Inscription : septembre 2011
Messages : 6
Points : 0
Points : 0
Citation:
Envoyé par Bovino Voir le message
Le mouseleave est inutile : hover gère à la fois le mouseenter et le mouseleave.
Si tu ne lui passes qu'une fonction en paramètre, elle sera exécutée pour chacun des deux événements, si tu en passes deux, elles seront appelées alternativement.
ok merci je ne savai pas, c'est corrigé :

Code :
1
2
3
4
5
6
7
8
9
10
11
<script type="text/javascript">
$(document).ready(function(){
		$('#englobhover span').hide(); 
 
		$('#product_list li').hover (function(){
			$(this).find('h3 span').fadeToggle(500);
		});
 
	return false;
}); 
</script>
sixweb est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h13.


 
 
 
 
Partenaires

Hébergement Web