Page 1 sur 1

Bannières défilantes

Posté : dim. 01 mars 2009, 14:54
par Kaldin
Bonjour à toutes et à tous,

Je fais ce topic, car j'aimerais savoir comment faire un défilement de bannière, comme il y a sur notre beau forum.

Donc, c'est pour mettre un truc du même genre sur mon site, pour les partenariats, qui m'éviterait de faire une page exprès pour les partenariats... Bref, Merci d'avance.

Posté : dim. 01 mars 2009, 15:05
par Kak Miortvi Pengvin
C'est du javascript qui utilise la bibliothèque JQuery. Le code est à la fin du message. Par contre, j'ignore comment se gère JQuery mais bon, il faut que tu trouves le conteneur qui t'intéresse sur ton site que tu ajoutes ce qui va bien dans les code html (je te laisse regarder la source de la page pour ça) et que tu modifies les quelques adresses si dessous en fonction de tes besoins.

Code : Tout sélectionner

/* Script pour Netophonix, alternative pour le Neto-Pub-Flash, *
 * utilise JQuery et Javascript. By Signez pour Mitch_dsm,     *
 * le 26 Août 2007, distribué sous licence GNU/GPL.            */
 
// Détection d'Internet Explorer...
var ieUsed;
if($.browser.msie && $.browser.version < 7) ieUsed = true;
 
// Exécution du script lorsque le navigateur a chargé la page...
$(document).ready(function(){
   // Inclusion du Neto_Bot
   $.get("/includes/ircstat.php");
   $("#conteneurDePub").fadeIn("slow", function(){
      $.get("functions_ban_java.php?script", function(bannieres){
         defilNetoPub(bannieres, 0);
      });
   });
});
 
function defilNetoPub(bannieres, compteur){
   $("#conteneurDePub a").animate({top: (ieUsed) ? 0 : -60, opacity: 0}, "slow", function(){
      $("#conteneurDePub a").remove();
      $(bannieres).filter("a:eq(" + compteur + ")")
         .css({top: (ieUsed) ? 0 : 60, opacity: 0, zIndex: 0})
         .appendTo($("#conteneurDePub"))
         .animate({top: 0, opacity: 1}, "slow", function(){
            if(compteur == 5){ 
               compteur = 0;
            }else{
               compteur++;
            };
            setTimeout(function(){ defilNetoPub(bannieres, compteur); }, 8000);
      });
   });
}

Posté : dim. 01 mars 2009, 15:14
par Kaldin
Merci Kak, mais le problème, c'est que j'y connais rien au Javascript... :smt010

Posté : dim. 01 mars 2009, 15:23
par Kak Miortvi Pengvin
Tu n'as pas besoin, le code est déjà fait et disponible sous licence GNU/GPL. Tu n'as qu'à l'adapter. Pour ça, ce n'est pas dur.

Il te faut dans ton header, ces quelques lignes (ce qui suppose que tu as JQuery sur ton ftp):

Code : Tout sélectionner

<!-- Les lignes ci-dessous pour le netopub. -->
<link href="netopub.css" type="text/css" rel="stylesheet"/>
<script src="jquery.js" type="text/javascript"/></script>
<script src="jneto.js" type="text/javascript"/></script>
<!-- fin de l'ajout netopub. -->
Puis dans le code donné plus haut (fichier jneto.js), tu repère les adresses que tu adaptes à ton arborescence et tu modifies éventuellement les quelques valeurs. Tu peux aussi les deux lignes qui se rapportent au Netobot.

Code : Tout sélectionner

   // Inclusion du Neto_Bot 
   $.get("/includes/ircstat.php"); 
Non, le seul truc sur lequel je ne peux pas t'aider, c'est l'appel à la fonction php... Là, c'est de Signez dont on a besoin.

Posté : dim. 01 mars 2009, 16:05
par Kaldin
Oula, c'est quand même compliqué ! :smt005
Puis dans le code donné plus haut (fichier jneto.js), tu repère les adresses que tu adaptes à ton arborescence et tu modifies éventuellement les quelques valeurs. Tu peux aussi les deux lignes qui se rapportent au Netobot.
Et je sais pas du tout faire ce truc la !

Posté : dim. 01 mars 2009, 16:23
par Signez
Merci TheKMP !
Dans ce post, j'ai modifié et adapté le code pour que tu n'aie plus (trop) de modifications à faire.

Crée tout d'abord un fichier nommé autoban.js contenant ceci :

Code : Tout sélectionner

/* Script Autobannières (utilise JQuery et Javascript)  *
 * basé sur le code de la Netopub. © Signez, 2007-2009. *
 * Ce code est distribué sous licence GNU/GPL v2+.      */
 
// Ci-dessous, le nombre (à modifier éventuellement) de bannières
// retourné par lesbannieres.php
var maxban = 5;

// Détection d'Internet Explorer...
var ieUsed;
if($.browser.msie && $.browser.version  qui contient un  vide, comme ceci :
[code]
Puis, tu dois affecter quelques règles CSS à ce conteneurDePub. Tu peux t'inspirer de la feuille [url=http://forum.netophonix.com/netopub.css]netopub.css[/url] pour créer tes propres règles. Ajoute les dans un fichier autoban.css.

Ensuite, tu dois créer un fichier .php qui sera chargé de renvoyer à notre script maxban bannières aléatoirement. Voici un exemple de fichier qui peut te convenir :

Code : Tout sélectionner

 image
$lesbans = array('http://macp3.info' => './macp3.info-ban.jpg',
                 'http://synopslive.net/' => 'http://synopslive.net/banniere.jpg');

function scmp( $a, $b ) {
     return rand(-1,1);
};

uasort( $lesbans, 'scmp' );
$lesbans = array_chunk($lesbans, 5, true);
$lesbans = $lesbans[0];

foreach($lesbans as $lien => $image){
    echo '';
};
?>
Enfin, il faut que tu ajoute quelques entêtes à ta page : Voilà. Normalement, avec tout ça, tu devrais avoir un système fonctionnel de bannière.

Posté : dim. 01 mars 2009, 17:25
par Kaldin
Vraiment un gros merci Signez ! Et bien sur aussi a Kak ! :)

Posté : dim. 01 mars 2009, 18:51
par Alinor
Bravo Signez, c'est du bon travail ;) (toi aussi Kak :D )