11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Voilà je vous explique mon problème en fait je voudrais réaliser un diaporama avec un effet de zoom sur les photos.
Donc j'ai pris l'exemple que ce site propose, mais impossible de le faire fonctionner.
J'ai essayé plusieurs solutions mais rien n'y fait.

Je vous laisse mon code pour que vous puissiez voir si j'ai pas fait d'erreur (ce qui n'est pas exclus Smiley biggrin ).


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
   	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
       <title>Wild Horizon</title>
       		
       		<meta name="Description" CONTENT=""/>
			<meta name="Keywords" LANG="fr" CONTENT=""/>
	     		<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
       		<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
       		<link href="style.css" rel="stylesheet" type="text/css" />
			<!-- Javascript -->
        	<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
        	<script type="text/javascript" src="js/jquery.diaporama.js"></script>
        	<script type="text/javascript" src="js/script.js"></script>
        	<script type="text/javascript">

  				var _gaq = _gaq || [];
  				_gaq.push(['_setAccount', 'UA-26626746-3']);
  				_gaq.push(['_trackPageview']);

  				(function() {
    			var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    			ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    			var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  				})();

			</script>
       		 
	</head>
		<body>
			<div id="en_tete">
				<div id="image">
   				<a href="http://www.wild-horizon.com"><img src="typo/wild_horizon.png"  alt="Wild-horizon" />
   				</div>
   				
			</div>
				
			<div id="menu"> 
				<ul class="niveau1"> 
					<li><a href="index.html">HOME</a></li> 
					
					<li class="sousmenu"><a>ACTIVITIES</a>
						<ul class="niveau2"> 
							<li class="sousmenu"><a href="winter.html">MOUNTAIN</a></li> 
							<li><a href="summer.html">OCEAN</a></li> 
						</ul> 
					</li>
					<li><a href="voyage.html">TRAVELS</a></li>
					<li><a href="reservation.php">RESERVATION</a></li>
					<li><a href="team.html">TEAM</a></li>
					<li><a href="partners.html">PARTNERS</a></li>
					<li><a href="gallery.html">GALLERY</a></a></li>
					<li><a href="contact.php">CONTACT</a></li> 
					
					<li class="sousmenu"><a>WEBCAMS</a>
						<ul class="niveau2"> 
							<li class="sousmenu"><a href="http://www.compagniedumontblanc.fr/fr/webcams">CHAMONIX</a></li> 
							<li><a href="http://www.les2alpes.com/webcams-des-2-alpes.html">LES 2 ALPES</a></li> 
							<li><a href="http://www.viewsurf.com/vue-1470-Carcans_-_Panovideo_Ocean.html">CARCANS</a></li>
						</ul> 
					</li>
					 
				</ul> 
			</div>			
			
			<div id="corps">
				<div id= "bleu">
        				<h1><strong>Wild Horizon...</strong> Who are we ? What can we offer you ?</h1>
					</div>
					
         			<ul class="diaporama">
        				<li><img src="images/index/mountain.jpeg" alt="Mountain" width="400" height="300" /></li>
            			<li><img src="images/index/ocean.jpg" alt="Ocean"  width="400" height="300" /></li>
            			<li><img src="images/index/mountain_2.jpg" alt="Formations" width="400" height="300" /></li>
            			<li><img src="images/index/ocean_2.jpg" alt="etc." width="400" height="300" /></li>
        			</ul>
        		
			</div>
			<div id="footer">
   				<p>copyright © 2012 tous droits réservés Wild Horizon. Design by <a href=""></a></p>
  			</div>

   		
		</body>
</html>



Donc si vous avez réponse à mon problème ou si vous avez d'autres solutions à me donner pour pouvoir faire ce phénomène de zoom dans le diaporama, je suis preneur car je je n'en peux plus. Smiley biggrin

Merci pour vos réponses.
A+
Xav
Modifié par xabix (09 May 2012 - 13:06)
Re bonjour,

Alors en essayant de trouver une solution à mon problème je me suis dit, que ça pouvait peut-être venir tout simplement du fait que j'appels pas les bons documents ou j'ai du faire une coquille dans les documents suivant :
- mootools.js
- javascripts.js

Ce qui me fait dire ça c'est que pour l'instant j'ai les images les unes à côtés des autres sans que rien ne se passe.

Aussi si le diaporama est en double c'est que j'ai voulu essayer une autre technique (en liste avec le "ul"), qui est aussi donné dans l'exemple.

Voilà pour l'instant je n'ai pas d'autre idée. Smiley decu

ps: N'hésitez pas à me dire si je suis pas dans le bon topic pour ma question. Smiley cligne
Modifié par xabix (13 Mar 2012 - 09:56)
Me revoilà, Smiley smile

Donc en fait mootools va être trop compliqué et je ne pense pas pouvoir encore réussir à m'en servir.
Donc en cherchant un peu (toute l'après-midi) sur le net j'ai trouvé l'effet que je voulais faire (zoom et dézoom) sur mon diaporama.
Je vous laisse le lien si ça intéresse quelqu'un :
Ken Burns

Le seul soucis maintenant c'est que je ne sais pas vraiment comment utiliser ce code.
Je me doute que je dois appeler la fonction, pour que le script se lance. Mais je sèche et je ne sais pas quoi faire.

Donc si vous avez des idées je suis preneur.
Merci a+
Xav
Re,

Alors j'ai réussit ce matin à trouver une solution à mon problème.
voilà le lien avec lequel je me suis inspiré pour arriver à faire cette effet.
http://www.css-101.org/articles/ken-burns_effect/css-transition.php

Pour ce qui ont la flemme de chercher je vous laisse mon code (attention c'est un exemple et il peut y avoir des erreurs Smiley confused )


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
   	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
       <title>Wild Horizon</title>
       		
       		<meta name="Description" CONTENT=""/>


			<meta name="Keywords" LANG="fr" CONTENT=""/>
			
       		<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
       		<link href="style.css" rel="stylesheet" type="text/css" />
       		<link href="kenburns.css" rel="stylesheet" type="text/css" />
			<!-- Javascript -->
        	<script type="text/javascript" src="kenburns.js"></script>
  			
	</head>
		<body>
			<div id="en_tete">
				<div id="image">
   				<a href="http://www.wild-horizon.com"><img src="typo/wild_horizon.png"  alt="Wild-horizon" />
   				</div>
   				
			</div>
				
			<div id="menu"> 
				<ul class="niveau1"> 
					<li><a href="index.html">HOME</a></li> 
					
					 
					<li class="sousmenu"><a>ACTIVITIES</a>
						<ul class="niveau2"> 
							<li class="sousmenu"><a href="winter.html">MOUNTAIN</a></li> 
							<li><a href="summer.html">OCEAN</a></li> 
						</ul> 
					</li>
					<li><a href="voyage.html">TRAVELS</a></li>
					<li><a href="reservation.php">RESERVATION</a></li>
					<li><a href="team.html">TEAM</a></li>
					<li><a href="partners.html">PARTNERS</a></li>
					<li><a href="gallery.html">GALLERY</a></a></li>
					<li><a href="contact.php">CONTACT</a></li> 
					
					<li class="sousmenu"><a>WEBCAMS</a>
						<ul class="niveau2"> 
							<li class="sousmenu"><a href="http://www.compagniedumontblanc.fr/fr/webcams">CHAMONIX</a></li> 
							<li><a href="http://www.les2alpes.com/webcams-des-2-alpes.html">LES 2 ALPES</a></li> 
							<li><a href="http://www.viewsurf.com/vue-1470-Carcans_-_Panovideo_Ocean.html">CARCANS</a></li>
						</ul> 
					</li>
					 
				</ul> 
			</div>			
			
			<div id="corps">
				<div id= "bleu">
        				<h1><strong>Wild Horizon...</strong> Who are we ? What can we offer you ?</h1>
					</div>
					<div id="slideshow" >
  						<img src="images/index/mountain.jpeg" alt="Mountain" />
  						<img src="images/index/ocean.jpg" alt="Ocean" />
            			<img src="images/index/mountain_2.jpg" alt="Formations" />
            			<img src="images/index/ocean_2.jpg" alt="etc." />
            				
					</div>
         			
			</div>
			<div id="footer">
   				<p>copyright © 2012 tous droits réservés Wild Horizon. Design by <a href="http://www.stuffonweb.com">Stuff On Web</a></p>
  			</div>
		<script type="text/javascript">
    			window.onload = (function(){
  document.getElementById('slideshow').getElementsByTagName('img')[0].className = "fx";
  window.setInterval(kenBurns, 6000);		
  var images         = document.getElementById('slideshow').getElementsByTagName('img'),
      numberOfImages = images.length,
      i              = 1;
  function kenBurns() {
    if(i==numberOfImages){ i = 0;}
    images[i].className = "fx";
    if(i===0){ images[numberOfImages-2].className = "";}
    if(i===1){ images[numberOfImages-1].className = "";}
    if(i>1){ images[i-2].className = "";}
    i++;
  }
})();
  			</script>
   		
		</body>
</html>


le css :


#slideshow {
  position:relative;
  width:700px;
  height:467px;
  overflow:hidden;
  padding: 0;
margin-left: 200px;
  border:0px solid #fff;
  -webkit-box-shadow:1px 1px 5px #000;
  -moz-box-shadow:1px 1px 5px #000;
  -o-box-shadow:1px 1px 5px #000;
  box-shadow:1px 1px 5px #000;
  
	
}
#slideshow img {
  position:absolute;
  width:800px;
  height:520px;
  top:50%;
  left:50%;
  margin-left:-395px;
  margin-top:-270px;
  opacity:0;
  -webkit-transition-property: opacity, -webkit-transform;
  -webkit-transition-duration: 4s, 8s;
  -moz-transition-property: opacity, -moz-transform;
  -moz-transition-duration: 4s, 8s;
  -o-transition-property: opacity, -o-transform;
  -o-transition-duration: 4s, 8s;
  transition-property: opacity, transform;
  transition-duration: 4s, 8s;
}
#slideshow img  {
  -webkit-transform-origin: top right;
  -moz-transform-origin: top right;
  -o-transform-origin: top right;
  transform-origin: top right;
}
#slideshow :nth-child(2n+1) {
	-webkit-transform-origin: bottom left;
  -moz-transform-origin: bottom left;
  -o-transform-origin: bottom left;
  transform-origin: bottom left;
  
}
#slideshow :nth-child(3n+1) {
  -webkit-transform-origin: top left;
  -moz-transform-origin: top left;
  -o-transform-origin: top left;
  transform-origin: top left;
}
#slideshow :nth-child(4n+1) {
  -webkit-transform-origin: bottom right;
  -moz-transform-origin: bottom right;
  -o-transform-origin: bottom right;
  transform-origin: bottom right;
}
#slideshow .fx:first-child + img ~ img {
	z-index:-1;
}
#slideshow .fx {
  -webkit-transform: scale(1.5) translate(30px);
  -moz-transform: scale(1.5) translate(30px);
  -o-transform: scale(1.5) translate(30px);
  transform: scale(1.5) translate(30px);
  opacity:1;
}


Voilà désolé d'avoir pris de la place dans le forum alors que j'ai pu m'en sortir tout seul.
A bientôt
Xav[/i]
Salut,

Je reviens sur mon problème d'effet de zoom.
Donc sur les navigateurs suivants, il n'y a rien à signaler :
- Safari
- Chrome
- Firefox (juste quelques ralentissement mais rien de grave sous Mac Os X )

Par contre ou ça ne va pas du tout c'est avec notre ami "Internet Explorer" ou là l'effet de zoom n'y est pas du tout, le diaporama est très lent, bref c'est pas top.

Donc je me suis posé plusieurs questions :
- Compatibilité avec "ie"? Là j'ai un doute.
- Le code que j'utilise ne serait il pas en CSS 3 ?
- D'ou vient l'erreur ?
- Qu'est ce que je peux changer pour garder cette effet ?

Bref pas mal de questions pour l'instant sans réponse, donc si vous pouvez m'aider ou m'indiquer dans quel sens je peux chercher ça serait cool de votre part.
Si vous cherchez le code il est juste sur le poste au dessus.

A vous spécialiste du code et merci en avance pour vos réponses. Smiley cligne
Personne pour m'aider ou m'aiguiller dans mon problème. Smiley decu

Bon je vais essayer de trouver le même effet mais ailleurs, pour voir si ça passe sous internet explorer.

N'hésitez pas me répondre même si vous n'êtes pas sûr de vous ça peut toujours m'aider.
A+
Xav
Je déterre mon topic. Smiley lol

Bon après de grandes nombres d'essais, toujours rien à faire ça veut as passer avec IE.
Donc je me suis décidé de passer mon CSS dans un validateur (oui j'ai mis le temps pour le faire Smiley lol ).
Donc ce qui en résulte c'est que j'ai des balises en CSS 3 et du coup je pense que IE ne supporte pas encore cette version d'ou le non-fonctionnement du diaporama et ça avec toutes les versions.

En gros je suis au point zéro et je ne trouve pas de script ou de tuto pour pouvoir en réaliser un en CSS2.1.

Bon j'espère qu'un jour une âme charitable passera par là pour m'aider ou pour me pourrir car c'est pas le bon endroit pour ma question. Smiley lol

A+
Xav
Re bonjour tout le monde,

Le problème persiste et je ne vois toujours pas comment faire. Smiley decu
J'avoue que je suis dans l'impasse et si vous avez une idée n'hésitez pas. Je préfère essayer quelque chose qui ne marche pas plutôt que de ne rien faire.

Merci
a+
Bonjour,

en effet tu utilises les animations CSS qui sont pas compatibles avec IE.
De ce fait il va falloir te rabattre sur javascript.

je te conseille d'utiliser une librairie javascript (perso j'utilise jQuery), afin de simuler les mêmes effets !
Merci pour ta réponse.
Désolé de te demander mais je cherche depuis un petit moment cette effet mais rien de convainquant, si tu as des sources en plus en jQuery je suis preneur. Smiley cligne

Encore merci de m'aider. Smiley lol
Cool excellent je vais aller voir ça de suite. Smiley cligne
Encore merci pour ton aide et je croise les doigts pour que ça marche. Smiley lol

Edit: pour les admins je changerai le nom [résolu] dès que j'aurais vérifié et essayé le plugin.
Modifié par xabix (25 Apr 2012 - 15:51)
qualithras a écrit :
Bonjour, tu as de la chance y'a un plugin jquery qui fait cela directement
http://tobia.github.com/CrossSlide/
et regarde la rubrique ken burn
Smiley cligne


Alors j'ai essayer de faire le diaporama avec le lien que tu m'as donné.
Donc un diaporama simple ça fonctionne nickel.

Mais dès que je rentre l'effet de type "ken burns", là j'ai plus rien pas une photo qui s'affiche.
Donc en fait ce que j'ai fait c'est que j'ai pris le code pour voir à quel moment ça ne marchait plus et donc dès que je rentre les fonctions les photos disparaissent et plus rien à l'écran si ce n'est mon emplacement pour le diaporama.

Je te laisse le code que j'ai rentré

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
   	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
       <title></title>
       		
       		<meta name="Description" content="">
                <meta name="Keywords" LANG="fr" content="">
			
       		<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
       		<link href="style.css" rel="stylesheet" type="text/css" />
       		<link rel="icon" type="image/jpg" href="images/favicon/favi.jpg" />
       		
        	<script src="jquery.min.js"></script>
		<script src="jquery.cross-slide.min.js"></script>
			
  			<script type="text/javascript">

  			var _gaq = _gaq || [];
  			_gaq.push(['_setAccount', 'UA-30287197-1']);
  			_gaq.push(['_trackPageview']);

  			(function() {
    		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  			})();

		</script>	
       		 
	</head>
		<body>
			<div id="en_tete">
				<div id="image">
   				<a href=""> <img src="typo/won.png"  alt="" /> </a>
   				</div>
   				
			</div>
				
			<div id="menu"> 
				<ul class="niveau1"> 
					<li><a href="index.php">HOME</a></li> 
					<li><a href="team.php">TEAM</a></li>
					 
					<li class="sousmenu"><a>ACTIVITIES</a>
						<ul class="niveau2"> 
							<li class="sousmenu"><a href="winter.php">MOUNTAIN</a></li> 
							<li><a href="summer.php">OCEAN</a></li> 
						</ul> 
					</li>
					<li><a href="reservation.php">RESERVATION</a></li>
					<li><a href="voyage.php">WORLD TRAVEL</a></li>
					<li><a href="partners.php">PARTNERS</a></li>
					<li><a href="gallery.php">GALLERY</a></li>
					<li><a href="contact.php">CONTACT</a></li> 
					
					<li class="sousmenu"><a>WEBCAMS</a>
						<ul class="niveau2"> 
							<li class="sousmenu"><a href="http://www.compagniedumontblanc.fr/fr/webcams" target="_blank">CHAMONIX</a></li> 
							<li><a href="http://www.les2alpes.com/webcams-des-2-alpes.html" target="_blank">LES 2 ALPES</a></li> 
							<li><a href="http://www.viewsurf.com/vue-1470-Carcans_-_Panovideo_Ocean.html" target="_blank">CARCANS</a></li>
						</ul> 
					</li>
					 
				</ul></br></br></br>
				<!-- Facebook Badge START --><a href="http://www.facebook.com/pages/Wild-Horizon/385844564769607" target="_TOP" title=""><img src="http://badge.facebook.com/badge/385844564769607.2501.86644384.png" style="border: 0px;" /></a><br/><!-- Facebook Badge END --> 
			</div>			
				
			<div id="corps">
				<div id="diaporama"></div>
         		
			</div>
			<div id="footer">
   				<p>copyright © 2012 </a></p>
  			</div>
		<script>
		
    $('#diaporama').crossSlide({
  fade: 1
}, [
  {
    src:  'sand-castle.jpeg',
    alt:  'Sand Castle',
    from: '100% 80% 1x',
    to:   '100% 0% 1.7x',
    time: 3
  }, {
    src:  'sunflower.jpeg',
    alt:  'Sunflower',
    from: 'top left',
    to:   'bottom right 1.5x',
    time: 2
  }, {
    src:  'flip-flops.jpeg',
    alt:  'Flip Flops',
    from: '100% 80% 1.5x',
    to:   '80% 0% 1.1x',
    time: 2
  }, {
    src:  'rubber-ring.jpeg',
    alt:  'Rubber Ring',
    from: '100% 50%',
    to:   '30% 50% 1.5x',
    time: 2
  }
], function(idx, img, idxOut, imgOut) {
  if (idxOut == undefined)
  {
    // starting single image phase, put up caption
    $('div.caption').text(img.alt).animate({ opacity: .7 })
  }
  else
  {
    // starting cross-fade phase, take out caption
    $('div.caption').fadeOut()
  }
});
  

    
</script>
   		
		</body>
</html>




Donc voilà en gros j'en suis toujours au même point, je suis nul et j'y arrive pas. Smiley lol


Merci encore de prendre du temps pour m'aider et pour essayer de me faire comprendre.
A+
Xav
Modifié par xabix (27 Apr 2012 - 18:40)
Merci à toi "qualithras", j'ai enfin réussit à faire ce que je souhaitais.

Le seule chose qui est pas top c'est que Safari on voit la photo se pixeliser quand le zoom avance ou recule.
Pour amoindrir ce phénomène j'ai ralenti l'effet et augmenté le temps entre les photos.

Merci encore pour ton aide.

A+
xav