ancien script "neige tombante " de forum actif ne marche pas

2 participants

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu ancien script "neige tombante " de forum actif ne marche pas

Message par Sauvetage Sam 2 Déc 2017 - 12:51

Détails techniques


Version du forum : Inconnue
Poste occupé : Administrateur
Navigateur(s) concerné(s) : Safari
Personnes concernées par le problème : Tous les utilisateurs
Problème apparu depuis : ancien script neige tombante forum actif ne fonctionne pas
Lien du forum : http://sos-pigeons.forumactif.org

Description du problème

Bonjour
Le script "neige tombante" datant de plusieurs années, afin que de la neige tombe sur les pages ne fonctionne pas. Je suis allée dans "java script" pour en créer un alors que les autres fois je mettais en banniere, c'était un peu bricolé.
Avez vous un script en réserve pouvant me servir
Cordialement
avatar

Sauvetage
***

Féminin
Messages : 177
Inscrit(e) le : 14/11/2009

https://sos-pigeons.forumactif.org/
Sauvetage a été remercié(e) par l'auteur de ce sujet.

Résolu Re: ancien script "neige tombante " de forum actif ne marche pas

Message par Adam_sfp Sam 2 Déc 2017 - 13:36

Bonjour

Il y a un code de neige par ici
https://forum.forumactif.com/t394449-neige-qui-tombe-sur-toute-la-page-du-forum#3302185

un petit compte à rebours avant Noël ici
https://forum.forumactif.com/t394425-coder-une-image-en-javascript#3302027

Un petit bonus avec ce code
DEMO
A mettre dans gestion des codes javascript
Code:
$( document ).ready(function() {
$("body").after('<div id="ping" class="ping1"></div>');
(function() {
  function JSMovieclip(elmts, params) {
    if (!elmts) {
      return this;
    }
    var t = this, str = elmts.toString();
    t.elmts = str === "[object Array]" || str === "[object NodeList]" || str === "[object HTMLCollection]" || str === "[object Object]" ? elmts : [elmts];
    str = null;
    t.playing = false;
    t.framerate = params.framerate || 25;
    t.frames = [];
    t.loop = false;
    t.elmtsLength = t.elmts.length;
    t.stopCallback = params.stopCallback || null;
    t.firstFrame = 1;
    t.lastFrame = 1;
    t._label = "";
    t._idx = 0;
    t._timer = null;
    t._tmpFrames = [];
    t._way = 1;
    t._framesNumber = params.frames_number || 0;
    t.updateFrames(params.frames, params.direction, params.width, params.height, params.frames_number);
  }
  JSMovieclip.prototype = {_render:function() {
    var i = this.elmtsLength, t = this;
    while (i--) {
      this.elmts[i].style.backgroundPosition = this._tmpFrames[this._idx];
    }
    if (t.playing) {
      if (t._idx >= t.lastFrame - 1) {
        if (!t.loop) {
          t.stop();
          return;
        }
        t._idx = t.firstFrame - 1;
      } else {
        t._idx++;
      }
    }
  }, _enterFrame:function() {
    var t = this;
    t._render.call(t);
    t.playing && (t._timer = setTimeout(function() {
      t._enterFrame.call(t);
    }, 1000 / t.framerate));
  }, _calculateFrames:function() {
    this._tmpFrames = [];
    if (this._way == 1) {
      this._tmpFrames = this.frames;
    } else {
      var i = this.frames.length;
      while (i--) {
        this._tmpFrames.push(this.frames[i]);
      }
    }
    this._framesNumber = this.frames.length;
    this.clearLoopBetween();
  }, _cacheFrames:function() {
    var frames = this.frames, i = frames.length;
    this.frames = [];
    while (i--) {
      this.frames[i] = "-" + frames[i].x + "px -" + frames[i].y + "px";
    }
  }, updateFrames:function(frames, direction, width, height, nbframe) {
    if (frames) {
      this.frames = frames;
      this._cacheFrames();
      this._calculateFrames();
      return;
    }
    if (!frames && !direction) {
      throw "JSMovieclip need at least frames array or a direction ";
      return;
    }
    if (direction == "v" && !height) {
      throw "If you want to use a vertical sprite, JSMoviclip need a height";
      return;
    }
    if (direction == "h" && !width) {
      throw "If you want to use a horizontal sprite, JSMoviclip need a width";
      return;
    }
    if (!nbframe) {
      throw "If you want to use a horizontal of vertical sprite, JSMoviclip need a number of frame";
      return;
    }
    var i = 0;
    for (; i < nbframe; i++) {
      this.frames.push({x:direction == "h" ? i * width : 0, y:direction == "v" ? i * height : 0});
    }
    i = null;
    this._cacheFrames();
    this._calculateFrames();
    return this;
  }, getWay:function() {
    return this._way;
  }, changeWay:function(way, keepFrame) {
    if (way == this._way) {
      return this;
    }
    !!keepFrame === true && (this._idx = this._framesNumber - this._idx);
    this._way = way;
    this._calculateFrames();
    return this;
  }, clearLoopBetween:function() {
    this.firstFrame = 1;
    this.lastFrame = this._framesNumber;
    return this;
  }, loopBetween:function(firstFrame, lastFrame) {
    if (firstFrame >= lastFrame) {
      firstFrame = lastFrame;
      throw "Firstframe and lastframe are equals or inverted";
    }
    this.firstFrame = Math.max(firstFrame, 1);
    this.lastFrame = Math.min(lastFrame, this._framesNumber);
    (this._idx < this.firstFrame - 1 || this._idx > this.lastFrame - 1) && (this._idx = this.firstFrame - 1);
    return this;
  }, currentFrame:function() {
    return this._idx + 1;
  }, prevFrame:function() {
    var current = this.currentFrame();
    return this.gotoAndStop(current <= this.firstFrame ? this.lastFrame : current - 1);
  }, nextFrame:function() {
    var current = this.currentFrame();
    return this.gotoAndStop(current >= this.lastFrame ? 1 : current + 1);
  }, toggle:function(loop) {
    return !this.playing ? this.play(loop) : this.stop();
  }, play:function(loop) {
    if (this.playing) {
      return;
    }
    this._idx === this.lastFrame - 1 && (this._idx = this.firstFrame - 1);
    this.playing = true;
    this.loop = !!loop;
    this._enterFrame();
    return this;
  }, stop:function() {
    this.playing = false;
    this._timer && (clearTimeout(this._timer), this._timer = null);
    this.stopCallback && this.stopCallback();
    return this;
  }, gotoAndPlay:function(frame, loop) {
    this._idx = Math.min(Math.max(frame, this.firstFrame), this.lastFrame) - 1;
    return this.play(loop);
  }, gotoAndStop:function(frame) {
    this._idx = Math.min(Math.max(frame, this.firstFrame), this.lastFrame) - 1;
    this.loop = false;
    this.playing = false;
    this._enterFrame();
    return this;
  }};
  window.JSMovieclip = JSMovieclip;
})();
var ping = document.getElementById("ping"), movieclip2 = (new JSMovieclip(ping, {frames:[{x:121, y:251}, {x:121, y:333}, {x:121, y:168}, {x:2, y:173}, {x:2, y:256}, {x:118, y:415}, {x:2, y:2}, {x:2, y:88}, {x:122, y:2}, {x:122, y:86}, {x:2, y:338}, {x:2, y:419}], framerate:25})).play(true);
ping.onclick = function() {
  movieclip2.toggle(true);
};
                      
                      });

Puis dans le css
Code:
.ping1 {
              position:absolute;
              top:50px;
              left:50px;
              cursor: pointer;
               z-index: 999;
            }
            
                    
          
            #ping {      
                width: 115px;
                height: 80px;
                background: url('https://i62.servimg.com/u/f62/12/69/24/33/ping11.png')no-repeat;  
            }
            

*Vous pouvez jouer sur les valeurs pour le placer ou vous voulez...
Code:
top:50px;
         left:50px;


Cela permettra à certains de patienter  en attendant la publication officiel de FA  Wink
Adam_sfp

Adam_sfp
Membre actif

Masculin
Messages : 4465
Inscrit(e) le : 18/04/2008

http://antonyadam.kanak.fr
Adam_sfp a été remercié(e) par l'auteur de ce sujet.

Résolu Re: ancien script "neige tombante " de forum actif ne marche pas

Message par Sauvetage Sam 2 Déc 2017 - 14:18

Merci
Si vous publiez d'autres effets tant mieux, en attendant c'est super.
J'ai juste retiré deux types de flocons comme indiqué merci sans en mettre d'autres
Merci beaucoup Very Happy
avatar

Sauvetage
***

Féminin
Messages : 177
Inscrit(e) le : 14/11/2009

https://sos-pigeons.forumactif.org/
Sauvetage a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum