Imprimer la Page | Close Window

effet gif

Imprimé depuis: openElement Website
Categorie:

openElement


Nom du Forum: Code (JS, PHP, CSS etc.), techniques etc.
Description du Forum: Discussions concernant le développement Web en général
URL: http://forum.openelement.com/en/forum_posts.asp?TID=21784
Date: Nov 24 2020 à 8:20pm
Version logiciel: Web Wiz Forums 10.18 - http://www.webwizforums.com


Sujet: effet gif
Posté par: nico38
Sujet: effet gif
Posté le: Jan 30 2016 à 3:12pm
Bonjour,

j'ai une image et je veux faire un effet "gif" :

- l'image 1 disparait
- puis 3 secondes plus tard une deuxieme image réapparait en fondu
et le tout se répète en boucle

Je ne peux superposer 2 image il faut que je change le src de l'image.

Est-il possible de faire appararaître en boucle, alternativement, en fondu, deux src en modifiant uniquement le src de l'image en question ?


Pour imager c'est dans ce style :

$(function() {
            $('img').fondu().attr('src', '2.png'); /*changer src*/
            }, 3 secondes);
$(function() {
            $('.img').fondu().attr('src', '1.png'); /*rechanger src*/
            }, 3 secondes);
});
$répéter en boucle


-------------
Un lien vers ton site tu enverras | Problème d'affichage ? ---> CTRL+F5 | Couleur des liens --> "Styles des liens"



Réponses:
Posté par: Hobby001
Posté le: Jan 30 2016 à 3:54pm
Un peu comme un skitter slider?

-------------
https://www.denislafrance.net" rel="nofollow - Quand on veut mettre quelque chose en ligne, on se fait prendre par quelque chose
de gros.


Posté par: nico38
Posté le: Jan 30 2016 à 4:39pm
<img src="image1.png">

qui devient par  jq :

<img src="image2.png">
puis re :
<img src="image1.png">

le tout en boucle et fondu a chaque changement d'image

(c'est fait sur notepad pas sur oe)


-------------
Un lien vers ton site tu enverras | Problème d'affichage ? ---> CTRL+F5 | Couleur des liens --> "Styles des liens"


Posté par: Hobby001
Posté le: Jan 30 2016 à 4:48pm
Faudrait le faire avec un setTimeout(fonction,3000) dans un while j'imagine

-------------
https://www.denislafrance.net" rel="nofollow - Quand on veut mettre quelque chose en ligne, on se fait prendre par quelque chose
de gros.


Posté par: nico38
Posté le: Jan 30 2016 à 7:32pm
oui j'ai essayé de coder avec setTimeout, setInterval etc... mais sans effet
je vais fouiller


edit : par exemple dans l'idée (mais il manque un "fondu" entre le changement de src)

function boucle() {
    setTimeout(function() {
    $('.img-head img').attr('src', '2.png');
  }, 1000);
   
    setTimeout(function() {
    $('.img-head img').attr('src', '1.png');
  }, 2000);

 };
 
 setInterval(boucle, 3000);


mais il faut un fondu (c'est surtout là où je me pose la question) et une boucle


-------------
Un lien vers ton site tu enverras | Problème d'affichage ? ---> CTRL+F5 | Couleur des liens --> "Styles des liens"


Posté par: Hobby001
Posté le: Jan 30 2016 à 9:14pm
J'ai utilisé setTimeout dans le tuto pour opencart dans OE.  La syntaxe y est bonne sinon je regarderai ça demain

-------------
https://www.denislafrance.net" rel="nofollow - Quand on veut mettre quelque chose en ligne, on se fait prendre par quelque chose
de gros.


Posté par: nico38
Posté le: Jan 30 2016 à 9:18pm
ce que j'ai mis :
function boucle() {
    setTimeout(function() {
    $('.img-head img').attr('src', '2.png');
  }, 1000);
   
    setTimeout(function() {
    $('.img-head img').attr('src', '1.png');
  }, 2000);

 };
 
 setInterval(boucle, 3000);

ça fonctionne, mais c'est la transition fondu d'un changement de src qui pose surtout probleme, je vois pas comment faire .


-------------
Un lien vers ton site tu enverras | Problème d'affichage ? ---> CTRL+F5 | Couleur des liens --> "Styles des liens"


Posté par: Hobby001
Posté le: Jan 31 2016 à 1:40pm
Regardez ceci:

http://stackoverflow.com/questions/14795007/simple-fading-image-swap" rel="nofollow - http://stackoverflow.com/questions/14795007/simple-fading-image-swap


-------------
https://www.denislafrance.net" rel="nofollow - Quand on veut mettre quelque chose en ligne, on se fait prendre par quelque chose
de gros.


Posté par: Hobby001
Posté le: Jan 31 2016 à 3:40pm
Vous pouvez essayer:

css

.image1{background-image: url("/Files/Image/Fond01.jpg");}

.image2{background-image: url("/Files/Image/Fond02.png");}

js

setInterval(
function(){
var id=$("#WEcadre")
id.fadeOut(500);
setTimeout(
function (){
if (id.hasClass("image1")) {
id.removeClass('image1');
id.addClass('image2');
} else {
id.removeClass('image2');
id.addClass('image1');
}
setTimeout(function(){id.fadeIn(500);},500);
}
,1000);
}
,3000);

Vous pouvez paramétrer ce qui vous tente comme délais



-------------
https://www.denislafrance.net" rel="nofollow - Quand on veut mettre quelque chose en ligne, on se fait prendre par quelque chose
de gros.


Posté par: Dmit OE
Posté le: Jan 31 2016 à 8:52pm
Voici le code qui je viens de tester. Pour ne pas m'embeter avec les liens vers les images, j'ai ajoute (pas par-dessus, juste a cote) un element-image supplementaire avec l'image alternative et mis le class img-alt dessus.


$(function(){
var $orig = $('.img-head img'); // balise image originale dans l'element
var orig_src = $orig.attr('src'); // image d'origine
var alt_src = $('.img-alt img').attr('src'); // juste pour le test, recuperer l'image d'un autre element-image (peu importe ou il se trouve sur la page)

setInterval(fade, 3000);

function fade() {

  var $clone = $orig.clone()
 .css({position: 'absolute', width: '100%', height: '100%', left: 0, top: 0})
      .insertAfter($orig); // image-clone par dessus, pour l'instant avec la meme image dans src
  
  $orig.attr('src', alt_src); // changer l'image dans l'original
  
  var x = alt_src; alt_src = orig_src; orig_src = x; // echanger les images entre variables

  $clone.fadeOut(1000, function(){ $(this).remove(); }) // fade out puis supprimer l'image-clone
  
}
});



Posté par: Hobby001
Posté le: Jan 31 2016 à 9:44pm
Fade-In et Fade-Out simultanés

$(document).ready(
function(){
// superposer les panneaux
var PicTop = $('#WEpanneau1').offset().top;
var PicLeft = $('#WEpanneau1').offset().left;
$('#WEpanneau2').animate({top:PicTop, left:PicLeft});
}
);

setInterval(fusion,6000);

function fusion(){
var progres=0;  // variable de mesure du progres
var vitesse=1;  // vitesse du fade 1 est plus lent que 5

// fade in panneau2 et fadeout panneau1
for(progres=100; progres>0; progres=progres-vitesse){
$('#WEpanneau1').fadeTo(1,progres/100);
$('#WEpanneau2').fadeTo(1,(100-progres)/100);
}
// fade in panneau1 et fadeout panneau2
setTimeout(
function(){
for(progres=100; progres>0; progres=progres-vitesse){
$('#WEpanneau2').fadeTo(1,progres/100);
$('#WEpanneau1').fadeTo(1,(100-progres)/100);
}
}
,3000);
}


-------------
https://www.denislafrance.net" rel="nofollow - Quand on veut mettre quelque chose en ligne, on se fait prendre par quelque chose
de gros.


Posté par: nico38
Posté le: Feb 02 2016 à 8:40pm
merci, j'vais tester tout ça


-------------
Un lien vers ton site tu enverras | Problème d'affichage ? ---> CTRL+F5 | Couleur des liens --> "Styles des liens"



Imprimer la Page | Close Window

Forum Software by Web Wiz Forums® version 10.18 - http://www.webwizforums.com
Copyright ©2001-2014 Web Wiz Ltd. - http://www.webwiz.co.uk