Nouveauté forumactif: Gestion des codes Javascript

+45
devil92140
Louise_Sahar
TheOursBlanc
Hitoki
Tech
vichento
Albert1942
Jillian
Alex Fowl
tuning78
Tyma
demeter1
FANCH 56
benji7065
Blablaland forum
Western Spaghetti
diedblack
Zepiii
Sethe
Jean Nicolas
Ea
Riku Asakura
Lieter
mbenaissa
Horatio
Bigtube
AenigmA
Sorcière Monique
'Christa
Lixyr
remixeservice
# Eve
julworld
A7medvirus
The Godfather
Chinelle
diaph16
Tyren
Alluna
HELLPELL
encredemoncoeur
Humph
Pakodar
foraup
ge80
49 participants

Page 1 sur 3 1, 2, 3  Suivant

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

  • 0

Nouveauté forumactif: Gestion des codes Javascript Empty Nouveauté forumactif: Gestion des codes Javascript

Message par The Godfather Mar 5 Juil 2011 - 11:29



Nouvelle mise à jour ForumActif !
Gestion des codes Javascript

Bonjour,

Dans un souci d’amélioration continue de nos services, et en réponse aux nombreuses sollicitations de nos membres et aux difficultés qu’ils ont a héberger leurs fichiers JavaScript sur un service externe performant, nous vous offrons aujourd'hui une nouvelle mise à jour vous permettant d’héberger vos propres codes JavaScript & jQuery directement sur vos forums.  Very Happy

Nouveauté forumactif: Gestion des codes Javascript 28-06-14

Cette nouveauté a fait son apparition dans votre Panneau d'admin >> Modules >> HTML & JAVASCRIPT >> Gestion des codes Javascript

Nouveauté forumactif: Gestion des codes Javascript 28-06-10

Grâce à cette nouvelle fonctionnalité, vous pouvez très facilement héberger et gérer les codes javascript que vous souhaitez placer sur les pages de votre forum directement via votre panneau d'administration. dès lors, vos scripts peuvent être appelés automatiquement sur les pages de votre choix et sont directement inséré dans la partie <head>...</head> de la page.

Nouveauté forumactif: Gestion des codes Javascript 28-06-11

Ces scripts restent bien évidemment accessibles en édition et/ou suppression via la gestion des codes JavaScript de votre panneau d'administration:

Nouveauté forumactif: Gestion des codes Javascript 28-06-13

Les applications de cette nouveauté sont infinies et peuvent complètement transformer votre forum. Elles n’ont de limite que votre imagination et vos compétences en matière de JavaScript. (Pour plus d’informations sur l’utilisation du JavaScript dans votre forum, lire ce tutoriel )

Pour les membres ayant un forum en version PhpBB2 ou PunBB avec le templates overall_header modifiés

Vous devrez mettre à jour vous-même votre template personnalisé en cherchant le code


Code:
<!-- BEGIN google_analytics_code -->

puis en rajoutant avant lui le code


Code:
{HOSTING_JS}



A très bientôt avec d’autres nouveautés issues de VOS suggestions !  cheers Wink

L'équipe ForumActif



Dernière édition par The Godfather le Mar 12 Juil 2011 - 11:25, édité 1 fois
The Godfather

The Godfather
Adminactif
Adminactif

Masculin
Messages : 18294
Inscrit(e) le : 02/05/2004

The Godfather a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Invité Mar 5 Juil 2011 - 15:05

Je trouve cet ajout satisfaisant et moins encombrant qu'avant comme par exemple avec la chat box Smile
Merci .
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par ge80 Mar 5 Juil 2011 - 15:15

Bonjour

Superbe évolution positive.
Merci cheers cheers cheers cheers

Cordialement,
Nouveauté forumactif: Gestion des codes Javascript 6ds2878Ge
ge80

ge80
Membre actif

Masculin
Messages : 16167
Inscrit(e) le : 08/10/2006

http://www.tsi80.net/
ge80 a été remercié(e) par l'auteur de ce sujet.
  • 0

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par demeter1 Mar 5 Juil 2011 - 15:23

Je viens de m'en apercevoir à l'instant en modifiant une page Html. Alors la, je ne peux que dire qu'une seule chose : chapeau.

ps : content de voir une de mes propositions mise en application. ok
demeter1

demeter1
Membre actif

Masculin
Messages : 8993
Inscrit(e) le : 23/01/2009

https://altitudetropicale.forums-actifs.com/
demeter1 a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Pakodar Mar 5 Juil 2011 - 15:34

Wah, bravo, super!
Plus besoin de s'inscrire sur des sites, autres.. pour les héberger Smile
Cependant, est-ce que ce sera limité? Y aura-t-il un nombre limite de fichiers hébergés?
Pakodar

Pakodar
*****

Masculin
Messages : 669
Inscrit(e) le : 22/12/2010

http://ogamemaio.forumgratuit.org/forum
Pakodar a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty position

Message par foraup Mar 5 Juil 2011 - 15:51

bonjour,je viens de mettre le message d'alerte pour le MP, mais au lieu qu'il soit en bas a gauche,je voudrai qu'il soit positionner au milieu de l'écran. Je vous remercie d'avance
foraup

foraup
*

Masculin
Messages : 49
Inscrit(e) le : 15/02/2011

http://www.aupokertrankil.com
foraup a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Threax Mar 5 Juil 2011 - 15:53

Bonjour,

Demeter1 Arrow la preuve vivante que les utilisateurs sont à la base des mises à jour... Wink

Foraup Arrow Merci de poster directement dans l'Entraide, partie "problème avec un script, un code" Wink
Threax

Threax
Membre actif

Masculin
Messages : 17276
Inscrit(e) le : 27/08/2005

http://lesforumsde.forumactif.com
Threax a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par The Godfather Mar 5 Juil 2011 - 16:18

Pakodar a écrit:Wah, bravo, super!
Plus besoin de s'inscrire sur des sites, autres.. pour les héberger Smile
Cependant, est-ce que ce sera limité? Y aura-t-il un nombre limite de fichiers hébergés?

Il y a largement de quoi faire, une 50aine de JavaScript Wink et cette limite n'est qu'arbitraire et peut être augmentée par forumactif si nous nous apercevons qu'elle n'est pas suffisante pour la majorité de nos utilisateurs ::fleur::


Nouveauté forumactif: Gestion des codes Javascript Signat23
The Godfather

The Godfather
Adminactif
Adminactif

Masculin
Messages : 18294
Inscrit(e) le : 02/05/2004

The Godfather a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Pakodar Mar 5 Juil 2011 - 17:23

D'accord, merci beaucoup à toute l'équipe de F.A. pour ces magnifiques mises à jour Very Happy
Et merci à demeter1 d'avoir eu l'idée Smile
Pakodar

Pakodar
*****

Masculin
Messages : 669
Inscrit(e) le : 22/12/2010

http://ogamemaio.forumgratuit.org/forum
Pakodar a été remercié(e) par l'auteur de ce sujet.
  • 0

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par julworld Mar 5 Juil 2011 - 17:30

Merci beaucoup pour cette nouveauté. Smile

Et puis, je lance un appel à ceux qui sont experts en Javascripts :
N'hésitez pas à faire des sujets pour la partie "Trucs & Astuces", en proposant tout types de javascripts, qui seraient intéréssants auprès des forums, qui ne sont pas forcément experts en javascripts. Very Happy

Merci en tout cas pour cette superbe évolution de Forumactif. Very Happy
julworld

julworld
*****

Masculin
Messages : 695
Inscrit(e) le : 03/05/2009

http://prizeefrance.com
julworld a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par devil92140 Mar 5 Juil 2011 - 17:33

Génial la nouveauté content d’être prévenue sur le PA ^^
devil92140

devil92140
***

Masculin
Messages : 188
Inscrit(e) le : 06/03/2011

http://dwight-schultz-fan.forumgratuit.org
devil92140 a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par A7medvirus Mar 5 Juil 2011 - 17:45

Merci à le roi
A7medvirus

A7medvirus
**

Messages : 82
Inscrit(e) le : 24/03/2011

https://forum.forumactif.com
A7medvirus a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par The Godfather Mar 5 Juil 2011 - 17:49

julworld a écrit:Merci beaucoup pour cette nouveauté. Smile

Et puis, je lance un appel à ceux qui sont experts en Javascripts :
N'hésitez pas à faire des sujets pour la partie "Trucs & Astuces", en proposant tout types de javascripts, qui seraient intéréssants auprès des forums, qui ne sont pas forcément experts en javascripts. Very Happy

Merci en tout cas pour cette superbe évolution de Forumactif. Very Happy

Avec la chaleur de l'été qui arrive, voici un JavaScript qui fera apparaitre des flocons de neige sur les pages du forum de votre choix... c'est noël avant l'heure :lol!:

Code:
/** @license
 * DHTML Snowstorm! JavaScript-based Snow for web pages
 * --------------------------------------------------------
 * Version 1.41.20101113 (Previous rev: 1.4.20091115)
 * Copyright (c) 2007, Scott Schiller. All rights reserved.
 * Code provided under the BSD License:
 * http://schillmania.com/projects/snowstorm/license.txt
 */

/*global window, document, navigator, clearInterval, setInterval */
/*jslint white: false, onevar: true, plusplus: false, undef: true, nomen: true, eqeqeq: true, bitwise: true, regexp: true, newcap: true, immed: true */

var snowStorm = (function(window, document) {

  // --- common properties ---

  this.flakesMax = 128;          // Limit total amount of snow made (falling + sticking)
  this.flakesMaxActive = 64;      // Limit amount of snow falling at once (less = lower CPU use)
  this.animationInterval = 33;    // Theoretical "miliseconds per frame" measurement. 20 = fast + smooth, but high CPU use. 50 = more conservative, but slower
  this.excludeMobile = true;      // Snow is likely to be bad news for mobile phones' CPUs (and batteries.) By default, be nice.
  this.flakeBottom = null;        // Integer for Y axis snow limit, 0 or null for "full-screen" snow effect
  this.followMouse = true;        // Snow movement can respond to the user's mouse
  this.snowColor = '#fff';        // Don't eat (or use?) yellow snow.
  this.snowCharacter = '•';  // • = bullet, · is square on some systems etc.
  this.snowStick = true;          // Whether or not snow should "stick" at the bottom. When off, will never collect.
  this.targetElement = null;      // element which snow will be appended to (null = document.body) - can be an element ID eg. 'myDiv', or a DOM node reference
  this.useMeltEffect = true;      // When recycling fallen snow (or rarely, when falling), have it "melt" and fade out if browser supports it
  this.useTwinkleEffect = false;  // Allow snow to randomly "flicker" in and out of view while falling
  this.usePositionFixed = false;  // true = snow does not shift vertically when scrolling. May increase CPU load, disabled by default - if enabled, used only where supported

  // --- less-used bits ---

  this.freezeOnBlur = true;      // Only snow when the window is in focus (foreground.) Saves CPU.
  this.flakeLeftOffset = 0;      // Left margin/gutter space on edge of container (eg. browser window.) Bump up these values if seeing horizontal scrollbars.
  this.flakeRightOffset = 0;      // Right margin/gutter space on edge of container
  this.flakeWidth = 8;            // Max pixel width reserved for snow element
  this.flakeHeight = 8;          // Max pixel height reserved for snow element
  this.vMaxX = 5;                // Maximum X velocity range for snow
  this.vMaxY = 4;                // Maximum Y velocity range for snow
  this.zIndex = 0;                // CSS stacking order applied to each snowflake

  // --- End of user section ---

  var s = this, storm = this, i,
  // UA sniffing and backCompat rendering mode checks for fixed position, etc.
  isIE = navigator.userAgent.match(/msie/i),
  isIE6 = navigator.userAgent.match(/msie 6/i),
  isWin98 = navigator.appVersion.match(/windows 98/i),
  isMobile = navigator.userAgent.match(/mobile/i),
  isBackCompatIE = (isIE && document.compatMode === 'BackCompat'),
  noFixed = (isMobile || isBackCompatIE || isIE6),
  screenX = null, screenX2 = null, screenY = null, scrollY = null, vRndX = null, vRndY = null,
  windOffset = 1,
  windMultiplier = 2,
  flakeTypes = 6,
  fixedForEverything = false,
  opacitySupported = (function(){
    try {
      document.createElement('div').style.opacity = '0.5';
    } catch(e) {
      return false;
    }
    return true;
  }()),
  didInit = false,
  docFrag = document.createDocumentFragment();

  this.timers = [];
  this.flakes = [];
  this.disabled = false;
  this.active = false;
  this.meltFrameCount = 20;
  this.meltFrames = [];

  this.events = (function() {

    var old = (window.attachEvent), slice = Array.prototype.slice,
    evt = {
      add: (old?'attachEvent':'addEventListener'),
      remove: (old?'detachEvent':'removeEventListener')
    };

    function getArgs(oArgs) {
      var args = slice.call(oArgs), len = args.length;
      if (old) {
        args[1] = 'on' + args[1]; // prefix
        if (len > 3) {
          args.pop(); // no capture
        }
      } else if (len === 3) {
        args.push(false);
      }
      return args;
    }

    function apply(args, sType) {
      var oFunc = args.shift()[evt[sType]];
      if (old) {
        oFunc(args[0], args[1]);
      } else {
        oFunc.apply(this, args);
      }
    }

    function addEvent() {
      apply(getArgs(arguments), 'add');
    }

    function removeEvent() {
      apply(getArgs(arguments), 'remove');
    }

    return {
      add: addEvent,
      remove: removeEvent
    };

  }());

  function rnd(n,min) {
    if (isNaN(min)) {
      min = 0;
    }
    return (Math.random()*n)+min;
  }

  function plusMinus(n) {
    return (parseInt(rnd(2),10)===1?n*-1:n);
  }

  this.randomizeWind = function() {
    vRndX = plusMinus(rnd(s.vMaxX,0.2));
    vRndY = rnd(s.vMaxY,0.2);
    if (this.flakes) {
      for (var i=0; i<this.flakes.length; i++) {
        if (this.flakes[i].active) {
          this.flakes[i].setVelocities();
        }
      }
    }
  };

  this.scrollHandler = function() {
    // "attach" snowflakes to bottom of window if no absolute bottom value was given
    scrollY = (s.flakeBottom?0:parseInt(window.scrollY||document.documentElement.scrollTop||document.body.scrollTop,10));
    if (isNaN(scrollY)) {
      scrollY = 0; // Netscape 6 scroll fix
    }
    if (!fixedForEverything && !s.flakeBottom && s.flakes) {
      for (var i=s.flakes.length; i--;) {
        if (s.flakes[i].active === 0) {
          s.flakes[i].stick();
        }
      }
    }
  };

  this.resizeHandler = function() {
    if (window.innerWidth || window.innerHeight) {
      screenX = window.innerWidth-(!isIE?16:2)-s.flakeRightOffset;
      screenY = (s.flakeBottom?s.flakeBottom:window.innerHeight);
    } else {
      screenX = (document.documentElement.clientWidth||document.body.clientWidth||document.body.scrollWidth)-(!isIE?8:0)-s.flakeRightOffset;
      screenY = s.flakeBottom?s.flakeBottom:(document.documentElement.clientHeight||document.body.clientHeight||document.body.scrollHeight);
    }
    screenX2 = parseInt(screenX/2,10);
  };

  this.resizeHandlerAlt = function() {
    screenX = s.targetElement.offsetLeft+s.targetElement.offsetWidth-s.flakeRightOffset;
    screenY = s.flakeBottom?s.flakeBottom:s.targetElement.offsetTop+s.targetElement.offsetHeight;
    screenX2 = parseInt(screenX/2,10);
  };

  this.freeze = function() {
    // pause animation
    if (!s.disabled) {
      s.disabled = 1;
    } else {
      return false;
    }
    for (var i=s.timers.length; i--;) {
      clearInterval(s.timers[i]);
    }
  };

  this.resume = function() {
    if (s.disabled) {
      s.disabled = 0;
    } else {
      return false;
    }
    s.timerInit();
  };

  this.toggleSnow = function() {
    if (!s.flakes.length) {
      // first run
      s.start();
    } else {
      s.active = !s.active;
      if (s.active) {
        s.show();
        s.resume();
      } else {
        s.stop();
        s.freeze();
      }
    }
  };

  this.stop = function() {
    this.freeze();
    for (var i=this.flakes.length; i--;) {
      this.flakes[i].o.style.display = 'none';
    }
    s.events.remove(window,'scroll',s.scrollHandler);
    s.events.remove(window,'resize',s.resizeHandler);
    if (s.freezeOnBlur) {
      if (isIE) {
        s.events.remove(document,'focusout',s.freeze);
        s.events.remove(document,'focusin',s.resume);
      } else {
        s.events.remove(window,'blur',s.freeze);
        s.events.remove(window,'focus',s.resume);
      }
    }
  };

  this.show = function() {
    for (var i=this.flakes.length; i--;) {
      this.flakes[i].o.style.display = 'block';
    }
  };

  this.SnowFlake = function(parent,type,x,y) {
    var s = this, storm = parent;
    this.type = type;
    this.x = x||parseInt(rnd(screenX-20),10);
    this.y = (!isNaN(y)?y:-rnd(screenY)-12);
    this.vX = null;
    this.vY = null;
    this.vAmpTypes = [1,1.2,1.4,1.6,1.8]; // "amplification" for vX/vY (based on flake size/type)
    this.vAmp = this.vAmpTypes[this.type];
    this.melting = false;
    this.meltFrameCount = storm.meltFrameCount;
    this.meltFrames = storm.meltFrames;
    this.meltFrame = 0;
    this.twinkleFrame = 0;
    this.active = 1;
    this.fontSize = (10+(this.type/5)*10);
    this.o = document.createElement('div');
    this.o.innerHTML = storm.snowCharacter;
    this.o.style.color = storm.snowColor;
    this.o.style.position = (fixedForEverything?'fixed':'absolute');
    this.o.style.width = storm.flakeWidth+'px';
    this.o.style.height = storm.flakeHeight+'px';
    this.o.style.fontFamily = 'arial,verdana';
    this.o.style.overflow = 'hidden';
    this.o.style.fontWeight = 'normal';
    this.o.style.zIndex = storm.zIndex;
    docFrag.appendChild(this.o);

    this.refresh = function() {
      if (isNaN(s.x) || isNaN(s.y)) {
        // safety check
        return false;
      }
      s.o.style.left = s.x+'px';
      s.o.style.top = s.y+'px';
    };

    this.stick = function() {
      if (noFixed || (storm.targetElement !== document.documentElement && storm.targetElement !== document.body)) {
        s.o.style.top = (screenY+scrollY-storm.flakeHeight)+'px';
      } else if (storm.flakeBottom) {
        s.o.style.top = storm.flakeBottom+'px';
      } else {
        s.o.style.display = 'none';
        s.o.style.top = 'auto';
        s.o.style.bottom = '0px';
        s.o.style.position = 'fixed';
        s.o.style.display = 'block';
      }
    };

    this.vCheck = function() {
      if (s.vX>=0 && s.vX<0.2) {
        s.vX = 0.2;
      } else if (s.vX<0 && s.vX>-0.2) {
        s.vX = -0.2;
      }
      if (s.vY>=0 && s.vY<0.2) {
        s.vY = 0.2;
      }
    };

    this.move = function() {
      var vX = s.vX*windOffset, yDiff;
      s.x += vX;
      s.y += (s.vY*s.vAmp);
      if (s.x >= screenX || screenX-s.x < storm.flakeWidth) { // X-axis scroll check
        s.x = 0;
      } else if (vX < 0 && s.x-storm.flakeLeftOffset < 0-storm.flakeWidth) {
        s.x = screenX-storm.flakeWidth-1; // flakeWidth;
      }
      s.refresh();
      yDiff = screenY+scrollY-s.y;
      if (yDiff<storm.flakeHeight) {
        s.active = 0;
        if (storm.snowStick) {
          s.stick();
        } else {
          s.recycle();
        }
      } else {
        if (storm.useMeltEffect && s.active && s.type < 3 && !s.melting && Math.random()>0.998) {
          // ~1/1000 chance of melting mid-air, with each frame
          s.melting = true;
          s.melt();
          // only incrementally melt one frame
          // s.melting = false;
        }
        if (storm.useTwinkleEffect) {
          if (!s.twinkleFrame) {
            if (Math.random()>0.9) {
              s.twinkleFrame = parseInt(Math.random()*20,10);
            }
          } else {
            s.twinkleFrame--;
            s.o.style.visibility = (s.twinkleFrame && s.twinkleFrame%2===0?'hidden':'visible');
          }
        }
      }
    };

    this.animate = function() {
      // main animation loop
      // move, check status, die etc.
      s.move();
    };

    this.setVelocities = function() {
      s.vX = vRndX+rnd(storm.vMaxX*0.12,0.1);
      s.vY = vRndY+rnd(storm.vMaxY*0.12,0.1);
    };

    this.setOpacity = function(o,opacity) {
      if (!opacitySupported) {
        return false;
      }
      o.style.opacity = opacity;
    };

    this.melt = function() {
      if (!storm.useMeltEffect || !s.melting) {
        s.recycle();
      } else {
        if (s.meltFrame < s.meltFrameCount) {
          s.meltFrame++;
          s.setOpacity(s.o,s.meltFrames[s.meltFrame]);
          s.o.style.fontSize = s.fontSize-(s.fontSize*(s.meltFrame/s.meltFrameCount))+'px';
          s.o.style.lineHeight = storm.flakeHeight+2+(storm.flakeHeight*0.75*(s.meltFrame/s.meltFrameCount))+'px';
        } else {
          s.recycle();
        }
      }
    };

    this.recycle = function() {
      s.o.style.display = 'none';
      s.o.style.position = (fixedForEverything?'fixed':'absolute');
      s.o.style.bottom = 'auto';
      s.setVelocities();
      s.vCheck();
      s.meltFrame = 0;
      s.melting = false;
      s.setOpacity(s.o,1);
      s.o.style.padding = '0px';
      s.o.style.margin = '0px';
      s.o.style.fontSize = s.fontSize+'px';
      s.o.style.lineHeight = (storm.flakeHeight+2)+'px';
      s.o.style.textAlign = 'center';
      s.o.style.verticalAlign = 'baseline';
      s.x = parseInt(rnd(screenX-storm.flakeWidth-20),10);
      s.y = parseInt(rnd(screenY)*-1,10)-storm.flakeHeight;
      s.refresh();
      s.o.style.display = 'block';
      s.active = 1;
    };

    this.recycle(); // set up x/y coords etc.
    this.refresh();

  };

  this.snow = function() {
    var active = 0, used = 0, waiting = 0, flake = null, i;
    for (i=s.flakes.length; i--;) {
      if (s.flakes[i].active === 1) {
        s.flakes[i].move();
        active++;
      } else if (s.flakes[i].active === 0) {
        used++;
      } else {
        waiting++;
      }
      if (s.flakes[i].melting) {
        s.flakes[i].melt();
      }
    }
    if (active<s.flakesMaxActive) {
      flake = s.flakes[parseInt(rnd(s.flakes.length),10)];
      if (flake.active === 0) {
        flake.melting = true;
      }
    }
  };

  this.mouseMove = function(e) {
    if (!s.followMouse) {
      return true;
    }
    var x = parseInt(e.clientX,10);
    if (x<screenX2) {
      windOffset = -windMultiplier+(x/screenX2*windMultiplier);
    } else {
      x -= screenX2;
      windOffset = (x/screenX2)*windMultiplier;
    }
  };

  this.createSnow = function(limit,allowInactive) {
    for (var i=0; i<limit; i++) {
      s.flakes[s.flakes.length] = new s.SnowFlake(s,parseInt(rnd(flakeTypes),10));
      if (allowInactive || i>s.flakesMaxActive) {
        s.flakes[s.flakes.length-1].active = -1;
      }
    }
    storm.targetElement.appendChild(docFrag);
  };

  this.timerInit = function() {
    s.timers = (!isWin98?[setInterval(s.snow,s.animationInterval)]:[setInterval(s.snow,s.animationInterval*3),setInterval(s.snow,s.animationInterval)]);
  };

  this.init = function() {
    for (var i=0; i<s.meltFrameCount; i++) {
      s.meltFrames.push(1-(i/s.meltFrameCount));
    }
    s.randomizeWind();
    s.createSnow(s.flakesMax); // create initial batch
    s.events.add(window,'resize',s.resizeHandler);
    s.events.add(window,'scroll',s.scrollHandler);
    if (s.freezeOnBlur) {
      if (isIE) {
        s.events.add(document,'focusout',s.freeze);
        s.events.add(document,'focusin',s.resume);
      } else {
        s.events.add(window,'blur',s.freeze);
        s.events.add(window,'focus',s.resume);
      }
    }
    s.resizeHandler();
    s.scrollHandler();
    if (s.followMouse) {
      s.events.add(isIE?document:window,'mousemove',s.mouseMove);
    }
    s.animationInterval = Math.max(20,s.animationInterval);
    s.timerInit();
  };

  this.start = function(bFromOnLoad) {
    if (!didInit) {
      didInit = true;
    } else if (bFromOnLoad) {
      // already loaded and running
      return true;
    }
    if (typeof s.targetElement === 'string') {
      var targetID = s.targetElement;
      s.targetElement = document.getElementById(targetID);
      if (!s.targetElement) {
        throw new Error('Snowstorm: Unable to get targetElement "'+targetID+'"');
      }
    }
    if (!s.targetElement) {
      s.targetElement = (!isIE?(document.documentElement?document.documentElement:document.body):document.body);
    }
    if (s.targetElement !== document.documentElement && s.targetElement !== document.body) {
      s.resizeHandler = s.resizeHandlerAlt; // re-map handler to get element instead of screen dimensions
    }
    s.resizeHandler(); // get bounding box elements
    s.usePositionFixed = (s.usePositionFixed && !noFixed); // whether or not position:fixed is supported
    fixedForEverything = s.usePositionFixed;
    if (screenX && screenY && !s.disabled) {
      s.init();
      s.active = true;
    }
  };

  function doStart() {
    if ((this.excludeMobile && !isMobile) || !this.excludeMobile) {
      window.setTimeout(function() {
        s.start(true);
      }, 20);
    }
    // event cleanup
    s.events.remove(window, 'load', doStart);
  }

  // hooks for starting the snow
  s.events.add(window, 'load', doStart, false);

  return this;

}(window, document));



Nouveauté forumactif: Gestion des codes Javascript Signat23
The Godfather

The Godfather
Adminactif
Adminactif

Masculin
Messages : 18294
Inscrit(e) le : 02/05/2004

The Godfather a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Humph Mar 5 Juil 2011 - 17:59

Pourrions nous avoir d'autre exemple de javascript ?

Comme par exemple (si possible) un code javascript pour envoyé une unique alerte à toute les personnes connectées
- Humph
avatar

Humph
Nouveau membre

Masculin
Messages : 23
Inscrit(e) le : 30/06/2011

Http://hobbacity.jtkc.org
Humph a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par encredemoncoeur Mar 5 Juil 2011 - 18:16

Visiblement c'est une bonne nouvelle, sourire
Je suis débutante et je ne sais absolument pas ce que c'est...
je vais fouiller Wink
Belle fin de journée
Magali
avatar

encredemoncoeur
**

Féminin
Messages : 85
Inscrit(e) le : 18/06/2011

http://passiondeplumes.forumgratuit.org/
encredemoncoeur a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Guest Mar 5 Juil 2011 - 18:21

Merci beaucoup pour cette mise à jour super! Tout semble fonctionner comme il se doit. Very Happy

Cependant, ce serait cool si on pouvait aussi choisir si ce script a été ajoutée dans l'<head>, du <body> ou pied de page, plutôt que juste dans la <head> par défaut. Certains scripts exigent le <body> pour être chargés en premier pour être exécutés, et ils ne fonctionneront pas s'ils sont ajoutés dans la <head>.

Néanmoins, ce mise à jour est impressionnante. Bravo à l'équipe! Sourire2
Anonymous

Guest
Invité


Guest a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Ea Mar 5 Juil 2011 - 18:29

Bonjour,


Ce n'est pas juste, normalement mettre un script dans le body est une erreur ( tolérée par les navigateurs ).

Qui plus est, mettre un script dans <head> ( ce qui est la façon dont ça devrait toujours être fait ) l'exécutera justement en premier donc non en le mettant dans body ça ne s'exécutera pas avant.

Pour exécuter du code dans un script dans <head> une fois la structure de la page chargée, il suffit de l'entourer comme suit :

Code:
$(function(){
 // le code à exécuter
});
Pour exécuter du code dans un script dans <head> une fois la page totalement chargée, il suffit de l'entourer comme suit :

Code:
$(window).load(function () {
  // le code à exécuter
});
Enfin pour moi le fonctionnement actuel est correct, et il n'y a pas lieu d'y avoir un système qui exécuterait le script à tel ou tel endroit de la page.

Humph a écrit:Pourrions nous avoir d'autre exemple de javascript ?

Comme par exemple (si possible) un code javascript pour envoyé une unique alerte à toute les personnes connectées
- Humph
Il y a quelques astuces reposant sur des scripts ( https://forum.forumactif.com/f8-trucs-et-astuces ) pour votre demande il y a la section "Problème avec un script (un code)" Wink


Sinon au sujet de la mise à jour c'est extra =D

Cordialement.
Ea

Ea
Aidactif
Aidactif

Messages : 23583
Inscrit(e) le : 04/04/2008

Ea a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par HELLPELL Mar 5 Juil 2011 - 19:13

Merci pour cette nouvelle fonction et les 2 scripts
HELLPELL

HELLPELL
Nouveau membre

Masculin
Messages : 22
Inscrit(e) le : 15/09/2008

http://www.hellpellteam.org
HELLPELL a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Invité Mar 5 Juil 2011 - 20:48

Merci beaucoup encore une fois forumactif est en avance sur ces concurant et innove !!
Anonymous

Invité
Invité


Invité a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Alluna Mer 6 Juil 2011 - 4:28

Merci pour cette nouveauté, j'avais vraiment du mal à intégrer du javascript au forum, maintenant ça va être facilité, c'est super ! Smile


Alluna

Alluna
Nouveau membre

Féminin
Messages : 17
Inscrit(e) le : 22/06/2011

http://reves-absurdes.1fr1.net/
Alluna a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Tyren Mer 6 Juil 2011 - 9:16

C'est une très belle initiative, j'ai tenté de réaliser le « sélecteur de couleur » avec cette méthode, mais je n'obtiens aucun résultat, ce qui est plutôt embêtant. M'enfin.
Tyren

Tyren
**

Messages : 63
Inscrit(e) le : 07/08/2010

http://celestia-lasuite.forumactif.com/
Tyren a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par diaph16 Mer 6 Juil 2011 - 14:50

C'est énoooooooorme ! Merci. cheers
diaph16

diaph16
***

Masculin
Messages : 169
Inscrit(e) le : 13/12/2007

https://photography.1fr1.net/
diaph16 a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Chinelle Mer 6 Juil 2011 - 15:23

Franchement c'est une super initiative de votre part, merci beaucoup !
Chinelle

Chinelle
**

Féminin
Messages : 67
Inscrit(e) le : 08/12/2009

https://www.kingdom-hearts-rpg.com/
Chinelle a été remercié(e) par l'auteur de ce sujet.
  • 0

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par The Godfather Mer 6 Juil 2011 - 15:32

Un grand merci pour cet élan d’encouragement. Cela nous fait chaud au cœur et nous pousse à donner le meilleur de nous même pour vous Very Happy


Nouveauté forumactif: Gestion des codes Javascript Signat23
The Godfather

The Godfather
Adminactif
Adminactif

Masculin
Messages : 18294
Inscrit(e) le : 02/05/2004

The Godfather a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par A7medvirus Mer 6 Juil 2011 - 15:41

Attendre pour chaque nouvelle ِ Nouveauté forumactif: Gestion des codes Javascript 403513 Nouveauté forumactif: Gestion des codes Javascript 941733
A7medvirus

A7medvirus
**

Messages : 82
Inscrit(e) le : 24/03/2011

https://forum.forumactif.com
A7medvirus a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par julworld Mer 6 Juil 2011 - 17:00

The Godfather a écrit:
julworld a écrit:Merci beaucoup pour cette nouveauté. Smile

Et puis, je lance un appel à ceux qui sont experts en Javascripts :
N'hésitez pas à faire des sujets pour la partie "Trucs & Astuces", en proposant tout types de javascripts, qui seraient intéréssants auprès des forums, qui ne sont pas forcément experts en javascripts. Very Happy

Merci en tout cas pour cette superbe évolution de Forumactif. Very Happy

Avec la chaleur de l'été qui arrive, voici un JavaScript qui fera apparaitre des flocons de neige sur les pages du forum de votre choix... c'est noël avant l'heure :lol!:

Code:
/** @license
 * DHTML Snowstorm! JavaScript-based Snow for web pages
 * --------------------------------------------------------
 * Version 1.41.20101113 (Previous rev: 1.4.20091115)
 * Copyright (c) 2007, Scott Schiller. All rights reserved.
 * Code provided under the BSD License:
 * http://schillmania.com/projects/snowstorm/license.txt
 */

/*global window, document, navigator, clearInterval, setInterval */
/*jslint white: false, onevar: true, plusplus: false, undef: true, nomen: true, eqeqeq: true, bitwise: true, regexp: true, newcap: true, immed: true */

var snowStorm = (function(window, document) {

  // --- common properties ---

  this.flakesMax = 128;          // Limit total amount of snow made (falling + sticking)
  this.flakesMaxActive = 64;      // Limit amount of snow falling at once (less = lower CPU use)
  this.animationInterval = 33;    // Theoretical "miliseconds per frame" measurement. 20 = fast + smooth, but high CPU use. 50 = more conservative, but slower
  this.excludeMobile = true;      // Snow is likely to be bad news for mobile phones' CPUs (and batteries.) By default, be nice.
  this.flakeBottom = null;        // Integer for Y axis snow limit, 0 or null for "full-screen" snow effect
  this.followMouse = true;        // Snow movement can respond to the user's mouse
  this.snowColor = '#fff';        // Don't eat (or use?) yellow snow.
  this.snowCharacter = '•';  // • = bullet, · is square on some systems etc.
  this.snowStick = true;          // Whether or not snow should "stick" at the bottom. When off, will never collect.
  this.targetElement = null;      // element which snow will be appended to (null = document.body) - can be an element ID eg. 'myDiv', or a DOM node reference
  this.useMeltEffect = true;      // When recycling fallen snow (or rarely, when falling), have it "melt" and fade out if browser supports it
  this.useTwinkleEffect = false;  // Allow snow to randomly "flicker" in and out of view while falling
  this.usePositionFixed = false;  // true = snow does not shift vertically when scrolling. May increase CPU load, disabled by default - if enabled, used only where supported

  // --- less-used bits ---

  this.freezeOnBlur = true;      // Only snow when the window is in focus (foreground.) Saves CPU.
  this.flakeLeftOffset = 0;      // Left margin/gutter space on edge of container (eg. browser window.) Bump up these values if seeing horizontal scrollbars.
  this.flakeRightOffset = 0;      // Right margin/gutter space on edge of container
  this.flakeWidth = 8;            // Max pixel width reserved for snow element
  this.flakeHeight = 8;          // Max pixel height reserved for snow element
  this.vMaxX = 5;                // Maximum X velocity range for snow
  this.vMaxY = 4;                // Maximum Y velocity range for snow
  this.zIndex = 0;                // CSS stacking order applied to each snowflake

  // --- End of user section ---

  var s = this, storm = this, i,
  // UA sniffing and backCompat rendering mode checks for fixed position, etc.
  isIE = navigator.userAgent.match(/msie/i),
  isIE6 = navigator.userAgent.match(/msie 6/i),
  isWin98 = navigator.appVersion.match(/windows 98/i),
  isMobile = navigator.userAgent.match(/mobile/i),
  isBackCompatIE = (isIE && document.compatMode === 'BackCompat'),
  noFixed = (isMobile || isBackCompatIE || isIE6),
  screenX = null, screenX2 = null, screenY = null, scrollY = null, vRndX = null, vRndY = null,
  windOffset = 1,
  windMultiplier = 2,
  flakeTypes = 6,
  fixedForEverything = false,
  opacitySupported = (function(){
    try {
      document.createElement('div').style.opacity = '0.5';
    } catch(e) {
      return false;
    }
    return true;
  }()),
  didInit = false,
  docFrag = document.createDocumentFragment();

  this.timers = [];
  this.flakes = [];
  this.disabled = false;
  this.active = false;
  this.meltFrameCount = 20;
  this.meltFrames = [];

  this.events = (function() {

    var old = (window.attachEvent), slice = Array.prototype.slice,
    evt = {
      add: (old?'attachEvent':'addEventListener'),
      remove: (old?'detachEvent':'removeEventListener')
    };

    function getArgs(oArgs) {
      var args = slice.call(oArgs), len = args.length;
      if (old) {
        args[1] = 'on' + args[1]; // prefix
        if (len > 3) {
          args.pop(); // no capture
        }
      } else if (len === 3) {
        args.push(false);
      }
      return args;
    }

    function apply(args, sType) {
      var oFunc = args.shift()[evt[sType]];
      if (old) {
        oFunc(args[0], args[1]);
      } else {
        oFunc.apply(this, args);
      }
    }

    function addEvent() {
      apply(getArgs(arguments), 'add');
    }

    function removeEvent() {
      apply(getArgs(arguments), 'remove');
    }

    return {
      add: addEvent,
      remove: removeEvent
    };

  }());

  function rnd(n,min) {
    if (isNaN(min)) {
      min = 0;
    }
    return (Math.random()*n)+min;
  }

  function plusMinus(n) {
    return (parseInt(rnd(2),10)===1?n*-1:n);
  }

  this.randomizeWind = function() {
    vRndX = plusMinus(rnd(s.vMaxX,0.2));
    vRndY = rnd(s.vMaxY,0.2);
    if (this.flakes) {
      for (var i=0; i<this.flakes.length; i++) {
        if (this.flakes[i].active) {
          this.flakes[i].setVelocities();
        }
      }
    }
  };

  this.scrollHandler = function() {
    // "attach" snowflakes to bottom of window if no absolute bottom value was given
    scrollY = (s.flakeBottom?0:parseInt(window.scrollY||document.documentElement.scrollTop||document.body.scrollTop,10));
    if (isNaN(scrollY)) {
      scrollY = 0; // Netscape 6 scroll fix
    }
    if (!fixedForEverything && !s.flakeBottom && s.flakes) {
      for (var i=s.flakes.length; i--;) {
        if (s.flakes[i].active === 0) {
          s.flakes[i].stick();
        }
      }
    }
  };

  this.resizeHandler = function() {
    if (window.innerWidth || window.innerHeight) {
      screenX = window.innerWidth-(!isIE?16:2)-s.flakeRightOffset;
      screenY = (s.flakeBottom?s.flakeBottom:window.innerHeight);
    } else {
      screenX = (document.documentElement.clientWidth||document.body.clientWidth||document.body.scrollWidth)-(!isIE?8:0)-s.flakeRightOffset;
      screenY = s.flakeBottom?s.flakeBottom:(document.documentElement.clientHeight||document.body.clientHeight||document.body.scrollHeight);
    }
    screenX2 = parseInt(screenX/2,10);
  };

  this.resizeHandlerAlt = function() {
    screenX = s.targetElement.offsetLeft+s.targetElement.offsetWidth-s.flakeRightOffset;
    screenY = s.flakeBottom?s.flakeBottom:s.targetElement.offsetTop+s.targetElement.offsetHeight;
    screenX2 = parseInt(screenX/2,10);
  };

  this.freeze = function() {
    // pause animation
    if (!s.disabled) {
      s.disabled = 1;
    } else {
      return false;
    }
    for (var i=s.timers.length; i--;) {
      clearInterval(s.timers[i]);
    }
  };

  this.resume = function() {
    if (s.disabled) {
      s.disabled = 0;
    } else {
      return false;
    }
    s.timerInit();
  };

  this.toggleSnow = function() {
    if (!s.flakes.length) {
      // first run
      s.start();
    } else {
      s.active = !s.active;
      if (s.active) {
        s.show();
        s.resume();
      } else {
        s.stop();
        s.freeze();
      }
    }
  };

  this.stop = function() {
    this.freeze();
    for (var i=this.flakes.length; i--;) {
      this.flakes[i].o.style.display = 'none';
    }
    s.events.remove(window,'scroll',s.scrollHandler);
    s.events.remove(window,'resize',s.resizeHandler);
    if (s.freezeOnBlur) {
      if (isIE) {
        s.events.remove(document,'focusout',s.freeze);
        s.events.remove(document,'focusin',s.resume);
      } else {
        s.events.remove(window,'blur',s.freeze);
        s.events.remove(window,'focus',s.resume);
      }
    }
  };

  this.show = function() {
    for (var i=this.flakes.length; i--;) {
      this.flakes[i].o.style.display = 'block';
    }
  };

  this.SnowFlake = function(parent,type,x,y) {
    var s = this, storm = parent;
    this.type = type;
    this.x = x||parseInt(rnd(screenX-20),10);
    this.y = (!isNaN(y)?y:-rnd(screenY)-12);
    this.vX = null;
    this.vY = null;
    this.vAmpTypes = [1,1.2,1.4,1.6,1.8]; // "amplification" for vX/vY (based on flake size/type)
    this.vAmp = this.vAmpTypes[this.type];
    this.melting = false;
    this.meltFrameCount = storm.meltFrameCount;
    this.meltFrames = storm.meltFrames;
    this.meltFrame = 0;
    this.twinkleFrame = 0;
    this.active = 1;
    this.fontSize = (10+(this.type/5)*10);
    this.o = document.createElement('div');
    this.o.innerHTML = storm.snowCharacter;
    this.o.style.color = storm.snowColor;
    this.o.style.position = (fixedForEverything?'fixed':'absolute');
    this.o.style.width = storm.flakeWidth+'px';
    this.o.style.height = storm.flakeHeight+'px';
    this.o.style.fontFamily = 'arial,verdana';
    this.o.style.overflow = 'hidden';
    this.o.style.fontWeight = 'normal';
    this.o.style.zIndex = storm.zIndex;
    docFrag.appendChild(this.o);

    this.refresh = function() {
      if (isNaN(s.x) || isNaN(s.y)) {
        // safety check
        return false;
      }
      s.o.style.left = s.x+'px';
      s.o.style.top = s.y+'px';
    };

    this.stick = function() {
      if (noFixed || (storm.targetElement !== document.documentElement && storm.targetElement !== document.body)) {
        s.o.style.top = (screenY+scrollY-storm.flakeHeight)+'px';
      } else if (storm.flakeBottom) {
        s.o.style.top = storm.flakeBottom+'px';
      } else {
        s.o.style.display = 'none';
        s.o.style.top = 'auto';
        s.o.style.bottom = '0px';
        s.o.style.position = 'fixed';
        s.o.style.display = 'block';
      }
    };

    this.vCheck = function() {
      if (s.vX>=0 && s.vX<0.2) {
        s.vX = 0.2;
      } else if (s.vX<0 && s.vX>-0.2) {
        s.vX = -0.2;
      }
      if (s.vY>=0 && s.vY<0.2) {
        s.vY = 0.2;
      }
    };

    this.move = function() {
      var vX = s.vX*windOffset, yDiff;
      s.x += vX;
      s.y += (s.vY*s.vAmp);
      if (s.x >= screenX || screenX-s.x < storm.flakeWidth) { // X-axis scroll check
        s.x = 0;
      } else if (vX < 0 && s.x-storm.flakeLeftOffset < 0-storm.flakeWidth) {
        s.x = screenX-storm.flakeWidth-1; // flakeWidth;
      }
      s.refresh();
      yDiff = screenY+scrollY-s.y;
      if (yDiff<storm.flakeHeight) {
        s.active = 0;
        if (storm.snowStick) {
          s.stick();
        } else {
          s.recycle();
        }
      } else {
        if (storm.useMeltEffect && s.active && s.type < 3 && !s.melting && Math.random()>0.998) {
          // ~1/1000 chance of melting mid-air, with each frame
          s.melting = true;
          s.melt();
          // only incrementally melt one frame
          // s.melting = false;
        }
        if (storm.useTwinkleEffect) {
          if (!s.twinkleFrame) {
            if (Math.random()>0.9) {
              s.twinkleFrame = parseInt(Math.random()*20,10);
            }
          } else {
            s.twinkleFrame--;
            s.o.style.visibility = (s.twinkleFrame && s.twinkleFrame%2===0?'hidden':'visible');
          }
        }
      }
    };

    this.animate = function() {
      // main animation loop
      // move, check status, die etc.
      s.move();
    };

    this.setVelocities = function() {
      s.vX = vRndX+rnd(storm.vMaxX*0.12,0.1);
      s.vY = vRndY+rnd(storm.vMaxY*0.12,0.1);
    };

    this.setOpacity = function(o,opacity) {
      if (!opacitySupported) {
        return false;
      }
      o.style.opacity = opacity;
    };

    this.melt = function() {
      if (!storm.useMeltEffect || !s.melting) {
        s.recycle();
      } else {
        if (s.meltFrame < s.meltFrameCount) {
          s.meltFrame++;
          s.setOpacity(s.o,s.meltFrames[s.meltFrame]);
          s.o.style.fontSize = s.fontSize-(s.fontSize*(s.meltFrame/s.meltFrameCount))+'px';
          s.o.style.lineHeight = storm.flakeHeight+2+(storm.flakeHeight*0.75*(s.meltFrame/s.meltFrameCount))+'px';
        } else {
          s.recycle();
        }
      }
    };

    this.recycle = function() {
      s.o.style.display = 'none';
      s.o.style.position = (fixedForEverything?'fixed':'absolute');
      s.o.style.bottom = 'auto';
      s.setVelocities();
      s.vCheck();
      s.meltFrame = 0;
      s.melting = false;
      s.setOpacity(s.o,1);
      s.o.style.padding = '0px';
      s.o.style.margin = '0px';
      s.o.style.fontSize = s.fontSize+'px';
      s.o.style.lineHeight = (storm.flakeHeight+2)+'px';
      s.o.style.textAlign = 'center';
      s.o.style.verticalAlign = 'baseline';
      s.x = parseInt(rnd(screenX-storm.flakeWidth-20),10);
      s.y = parseInt(rnd(screenY)*-1,10)-storm.flakeHeight;
      s.refresh();
      s.o.style.display = 'block';
      s.active = 1;
    };

    this.recycle(); // set up x/y coords etc.
    this.refresh();

  };

  this.snow = function() {
    var active = 0, used = 0, waiting = 0, flake = null, i;
    for (i=s.flakes.length; i--;) {
      if (s.flakes[i].active === 1) {
        s.flakes[i].move();
        active++;
      } else if (s.flakes[i].active === 0) {
        used++;
      } else {
        waiting++;
      }
      if (s.flakes[i].melting) {
        s.flakes[i].melt();
      }
    }
    if (active<s.flakesMaxActive) {
      flake = s.flakes[parseInt(rnd(s.flakes.length),10)];
      if (flake.active === 0) {
        flake.melting = true;
      }
    }
  };

  this.mouseMove = function(e) {
    if (!s.followMouse) {
      return true;
    }
    var x = parseInt(e.clientX,10);
    if (x<screenX2) {
      windOffset = -windMultiplier+(x/screenX2*windMultiplier);
    } else {
      x -= screenX2;
      windOffset = (x/screenX2)*windMultiplier;
    }
  };

  this.createSnow = function(limit,allowInactive) {
    for (var i=0; i<limit; i++) {
      s.flakes[s.flakes.length] = new s.SnowFlake(s,parseInt(rnd(flakeTypes),10));
      if (allowInactive || i>s.flakesMaxActive) {
        s.flakes[s.flakes.length-1].active = -1;
      }
    }
    storm.targetElement.appendChild(docFrag);
  };

  this.timerInit = function() {
    s.timers = (!isWin98?[setInterval(s.snow,s.animationInterval)]:[setInterval(s.snow,s.animationInterval*3),setInterval(s.snow,s.animationInterval)]);
  };

  this.init = function() {
    for (var i=0; i<s.meltFrameCount; i++) {
      s.meltFrames.push(1-(i/s.meltFrameCount));
    }
    s.randomizeWind();
    s.createSnow(s.flakesMax); // create initial batch
    s.events.add(window,'resize',s.resizeHandler);
    s.events.add(window,'scroll',s.scrollHandler);
    if (s.freezeOnBlur) {
      if (isIE) {
        s.events.add(document,'focusout',s.freeze);
        s.events.add(document,'focusin',s.resume);
      } else {
        s.events.add(window,'blur',s.freeze);
        s.events.add(window,'focus',s.resume);
      }
    }
    s.resizeHandler();
    s.scrollHandler();
    if (s.followMouse) {
      s.events.add(isIE?document:window,'mousemove',s.mouseMove);
    }
    s.animationInterval = Math.max(20,s.animationInterval);
    s.timerInit();
  };

  this.start = function(bFromOnLoad) {
    if (!didInit) {
      didInit = true;
    } else if (bFromOnLoad) {
      // already loaded and running
      return true;
    }
    if (typeof s.targetElement === 'string') {
      var targetID = s.targetElement;
      s.targetElement = document.getElementById(targetID);
      if (!s.targetElement) {
        throw new Error('Snowstorm: Unable to get targetElement "'+targetID+'"');
      }
    }
    if (!s.targetElement) {
      s.targetElement = (!isIE?(document.documentElement?document.documentElement:document.body):document.body);
    }
    if (s.targetElement !== document.documentElement && s.targetElement !== document.body) {
      s.resizeHandler = s.resizeHandlerAlt; // re-map handler to get element instead of screen dimensions
    }
    s.resizeHandler(); // get bounding box elements
    s.usePositionFixed = (s.usePositionFixed && !noFixed); // whether or not position:fixed is supported
    fixedForEverything = s.usePositionFixed;
    if (screenX && screenY && !s.disabled) {
      s.init();
      s.active = true;
    }
  };

  function doStart() {
    if ((this.excludeMobile && !isMobile) || !this.excludeMobile) {
      window.setTimeout(function() {
        s.start(true);
      }, 20);
    }
    // event cleanup
    s.events.remove(window, 'load', doStart);
  }

  // hooks for starting the snow
  s.events.add(window, 'load', doStart, false);

  return this;

}(window, document));


Laughing Laughing

Merci. Ainsi, j'aurais pas besoin de m'en occuper pendant la période de noël ! Laughing Je préfère être en avance... Razz
julworld

julworld
*****

Masculin
Messages : 695
Inscrit(e) le : 03/05/2009

http://prizeefrance.com
julworld a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par # Eve Mer 6 Juil 2011 - 20:42

Merci beaucoup pour cette superbe idée.
Continuez comme ça, hein Wink ...
C'est vraiment une bonne initiative !

Amicalement,

Eve.
# Eve

# Eve
**

Féminin
Messages : 54
Inscrit(e) le : 02/10/2010

# Eve a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Jean Nicolas Jeu 7 Juil 2011 - 8:01

Bravo à vous.
J'ai mis en place très facilement les deux premiers codes.

Super content.
Très bien expliqué et aucun problème !
Jean Nicolas

Jean Nicolas
****

Masculin
Messages : 221
Inscrit(e) le : 28/03/2010

http://biere.bbfr.net/
Jean Nicolas a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty petit problème avec ce Java Script

Message par remixeservice Jeu 7 Juil 2011 - 12:43

Bonjour à tous!
J'ai un petit souci avec ce Java Script
Etana a écrit:
Voici un deuxième script à mettre ""Sur toutes les pages"" ça devrait afficher une image en cas de reception de nouveau message, le script vérifie également si il n'y a pas un nouveau mp ou si l'mp n'a pas été lu toute les 60 secondes :
Code:
var sec_inter= 60;

function cook_no_new_message() { my_setcookie("new_message",-new Date(),1,0); no_new_message(); }

function no_new_message() {  $('#new_message').remove(); }

function cook_new_message() {  my_setcookie("new_message",+new Date(),1,0); new_message(); }

function new_message() { $("body").append('<div id="new_message" style="position:fixed;bottom:0;left:0"><a href="/privmsg?folder=inbox" onClick="cook_no_new_message();return true;"><img src="http://i44.servimg.com/u/f44/16/64/11/35/alarm11.gif" /></a></div>'); }

function new_message_update() {
  var dnew_message= my_getcookie("new_message");
  var enew_message= dnew_message>0; 
 
  if(($('#new_message').length>0)==enew_message)
  {
      if(!enew_message) dnew_message*=-1;
      if(dnew_message<+new Date()-1000*sec_inter)
        $.get('http://'+document.location.host+'/privmsg?mode=newpm',function(data){
            if(!data.match("No new private messages are waiting for you")!=enew_message)
            {
              if(enew_message) cook_no_new_message();
              else cook_new_message();
            }
        });
  }
  else
  {
      if(enew_message) new_message();
      else no_new_message();
  }
}

$(function(){
  if(!$("#logout").length) return;
  if($('#i_icon_mini_new_message').length) cook_new_message();
  else cook_no_new_message();
  setInterval("new_message_update()",5000);
});

Dans => Utilisateurs & Groupes => Options des utilisateurs
Ma confi est comme ceci : Temps en minutes après lequel le membre est considéré « Hors ligne » : 5mn
Avec ce Java Script, mes membres sont toujours connecté même après!
Merci d'avance de m'envoyer une correction!


Dernière édition par Etana le Ven 8 Juil 2011 - 1:07, édité 2 fois (Raison : Sujet déplacé => https://forum.forumactif.com/t308686-petit-probleme-avec-ce-java-script#2697143)
remixeservice

remixeservice
**

Masculin
Messages : 60
Inscrit(e) le : 23/03/2011

http://www.freecoverservice.net/
remixeservice a été remercié(e) par l'auteur de ce sujet.

Nouveauté forumactif: Gestion des codes Javascript Empty Re: Nouveauté forumactif: Gestion des codes Javascript

Message par Ea Jeu 7 Juil 2011 - 12:54

Bonjour,


La section Problème avec un script (un code) est là pour cela.

Cordialement.
Ea

Ea
Aidactif
Aidactif

Messages : 23583
Inscrit(e) le : 04/04/2008

Ea a été remercié(e) par l'auteur de ce sujet.

Page 1 sur 3 1, 2, 3  Suivant

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