Background aléatoire Bouton_activeBackground aléatoire Bouton_hoverBackground aléatoire Fb-hoverBackground aléatoire Fb-active
CSSActif, le forum, n'est plus maintenu. Il est néanmoins disponible pour consultation. Pour des outils pratiques, rendez-vous sur:

Découvrez CSSActif, une collection d'outils et de tutoriels interactifs pour les développeurs Web — HTML, CSS, JavaScript et bien plus!

Derniers sujets
» Système d'onglets simple et personnalisable
Background aléatoire EmptyLun 03 Juin 2024, 17:20 par birds

» Fiche de Présentation RPG
Background aléatoire EmptySam 30 Mar 2024, 22:07 par Peyton972

» [RPG] Fiche personnage avec bannière
Background aléatoire EmptySam 30 Mar 2024, 22:06 par Peyton972

» Structure de Qui Est En Ligne (1)
Background aléatoire EmptyLun 04 Mar 2024, 23:20 par Peyton972

» Qui Est En Ligne - Utopia
Background aléatoire EmptyDim 24 Déc 2023, 18:16 par romee

» Pack forum complet "Androïd Sylver" RPU (N°2)
Background aléatoire EmptyJeu 02 Nov 2023, 06:42 par Hydrar

» Formulaire de connexion rapide amélioré
Background aléatoire EmptySam 04 Mar 2023, 18:57 par Krager

» Avatar centré dans le profil
Background aléatoire EmptySam 11 Fév 2023, 06:04 par Krager

Le Deal du moment : -55%
Friteuse sans huile – PHILIPS – Airfryer ...
Voir le deal
49.99 €

Partagez
 

Background aléatoire

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Radimir
{ Membre actif }
{ Membre actif }

Masculin Messages : 459



Background aléatoire Empty

Background aléatoire


Informations générales

Description :
Le but de ce tutoriel est de générer un background aléatoire, c'est-à-dire qu'à chaque actualisation de la page du forum, ou changement de page, l'image de fond... change de manière aléatoire (parmi une liste d'images de fond de notre choix).

Démo :
Démo live sur cette page

Testé sur :
Firefox, Chrome, Safari, Opera, Internet Explorer 7+

Crédits :
Proposé par Radimir le 05/10/2010 | Validé par sNipe_sCk

Mise(s) à jour :
Mise à jour le 26/09/2012 par Espeon

Le tutoriel


Crédits
Les images utilisées pour la démo proviennent toutes de cet excellent site, que je vous recommande et qui propose tout une série de motifs vraiment sobres et sympathiques pour habiller vos pages/forums : Subtle Patterns

Le principe


Pour pouvoir réaliser notre effet, réfléchissons à ce que nous devons faire :
  1. Tout d'abord, il nous faut une série d'images de fond (au moins 2, cela va de soi).
  2. Ensuite, il va falloir prendre une de ces images au hasard ! Ça va être drôle...
  3. Enfin, il faut appliquer cette image en tant que background de notre forum, donc sur la balise <body>.


Pour réaliser cela, nous allons simplement utiliser un petit script en JS. En fait, c'est impératif pour la seconde étape. C'est un peu sortir des sentiers battus que de faire un tutoriel sur du Javascript finalement, mais l'essentiel est assez simple et l'effet assuré. Wink

Au pire, considérez cela comme un "Code à Copier/Coller" détaillé !

Et pourquoi on peut pas le faire en CSS ?:

Les images


Avant toute chose, il vous faudra disposer d'au moins 2 images de fond (entre lesquelles votre coeur balance, raison pour laquelle vous êtes assurément en train de lire ce tutoriel).

Il faut les héberger sur Internet pour disposer de leur URL. Pour cela, servez-vous de votre hébergeur habituel. Si vous n'en avez pas, vous en trouverez à la pelle sur le web. Servimg et ImageShack sont très prisés des utilisateurs de ForumActif, ou encore imgur par exemple (merci 'Christa).

Quelque soit votre hébergeur, prenez juste garde aux conditions d'utilisation. Notamment, vérifiez bien combien de temps l'hébergeur stocke vos images si vous ne voulez pas vous retrouver avec un lien cassé dans 2 semaines !


Vous avez hébergé vos images ? Vous avez vos URLs ? Bien, passons au script...

Le Javascript


Rendez-vous dans votre Panneau d'Administration > Modules > Gestion des codes javascript.
Créez une nouvelle feuille, donnez-lui un nom (background-aleatoire par exemple) et veillez à ce qu'elle s'affiche sur toutes les pages du forum en cochant cette option.

Enfin, placez-y le code suivant pour commencer :
Code:
var bg = new Array();    // Crée un tableau pour stocker nos URLs
bg.push('URL-IMAGE-1');    // Ajoute l'URL de notre premier background
bg.push('URL-IMAGE-2');
bg.push('URL-IMAGE-3');
// ... autant d'images que vous le souhaitez

// On change le background du body une fois seulement que tout le DOM est chargé
$(function() {
    var urlBg = bg[Math.floor(Math.random()*bg.length)];    // Prend l'une des URLs du tableau au hasard
    $('body').css('background-image','url('+urlBg+')');    // L'affecte comme background-image au body
});

Mais qu'est-ce-que c'est que ce charabia ?


Alooooors, étant donné que nous sommes ici dans un tutoriel, je vais m'efforcer de vous expliquer le principe de chaque ligne pour vous faire comprendre le principe. L'idée, c'est que vous adaptiez ce code à autre chose que le background de votre forum si vous vous sentez à l'aise.

Vu qu'il s'agit de Javascript, il est normal que vous ne saisissiez pas forcément certaines notions. Ne vous inquiétez pas, ce n'est pas grave.

Cependant, je vais faire de mon mieux pour vous décortiquer ce petit script qui est, vous allez le voir, tout simple !


var bg = new Array() : tout d'abord, nous allons créer un tableau (array en anglais). Pourquoi ? Et bien pour y stocker les URLs de nos images. L'avantage du tableau, c'est qu'il peut contenir autant de variables (d'URLs d'images) que nous le voulons !

bg.push('URL-IMAGE-1') : ça veut juste dire qu'on rajoute un élément à notre tableau. Notre élément, c'est l'URL de notre image. On ajoute donc autant d'éléments qu'on a d'images ! Prenez bien garde à ne pas oublier les guillemets ' autour de vos URLs, sinon ça ne marchera pas !

$(function() { ... } : c'est un peu plus compliqué, vous n'êtes pas obligé de retenir ce que ça signifie. En fait, ça va dire au reste du script de s'exécuter tout à la fin du chargement de la page. Pourquoi ? Parce-que si on essaie de modifier le <body> avant qu'il ne soit chargé (donc quand il n'existe pas), ben ça marche pas ! Cette petite ligne nous permet juste de dire : "Ok, attends que les éléments de la page soient chargés, et ensuite tu pourras les triturer !".

var urlBg = bg[Math.floor(Math.random()*bg.length)] : beurk ! En fait, retenez que l'on stocke dans une variable (que l'on appelle urlBg) l'une des URLs du tableau. bg[...] va en effet sélectionner l'un des éléments du tableau bg. C'est la formule qu'il y a dedans (Math.floor(Math.random()*bg.length)) qui va prendre un chiffre au hasard entre 0 et le numéro du dernier élément du tableau.

$('body') : va sélectionner notre balise <body>. C'est un sélecteur, comme ceux du CSS ! Par exemple, si on avait voulu sélectionner un élément ayant comme identifiant toto, nous aurions fait $('#toto') !

.css('background-image','url('+urlBg+')') : applique du CSS sur notre élément sélectionné ! Ici, nous affectons la valeur de notre variable urlBg à la propriété background-image de notre élément. Concrètement, on dit à notre <body> que son background sera notre image, choisie aléatoirement dans notre tableau d'images.

En CSS, cela reviendrait à faire :
Code:
body {
    background-image: url('NOTRE_URL_CHOISIE_ALEATOIREMENT');
}

Nous sommes justes obligés d'utiliser le Javascript pour choisir cette image de manière aléatoire.


Voilà pour les explications et ce tutoriel. J'espère que ce n'était pas trop déroutant et que vous ferez bon usage de ce code et de ces explications. Wink
MessageSujet: Background aléatoire   Background aléatoire EmptyJeu 23 Sep 2010, 00:42
Revenir en haut Aller en bas
http://www.i-love-harvard.com/
Kaiji
Kaiji
Blanche-Neige
Blanche-Neige

Féminin Messages : 5578



Background aléatoire Empty
FAQ


Q
//

R
//


Pour toute question sur ce tutoriel, merci de poster une demande d'aide ici :
http://www.css-actif.com/f17-aide-css-xhtml
MessageSujet: Re: Background aléatoire   Background aléatoire EmptyJeu 04 Aoû 2011, 05:14
Revenir en haut Aller en bas
Espeon
Espeon
Administrateur
Administrateur

Masculin Messages : 1819



Background aléatoire Empty
27/09/2012 - Tutoriel (profondément) revu et mis à jour
MessageSujet: Re: Background aléatoire   Background aléatoire EmptyJeu 27 Sep 2012, 04:37
Revenir en haut Aller en bas
Contenu sponsorisé




Background aléatoire Empty
MessageSujet: Re: Background aléatoire   Background aléatoire Empty
Revenir en haut Aller en bas
 

Background aléatoire

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» Header aléatoire.
» Header aléatoire
» Texte aléatoire
» Bannière aléatoire qui ne marche pas.
» Header aléatoire (messages)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
CSSActif :: Tutoriels de CSSActif :: ForumActif Pas à pas :: Le Reste-

Partenaires Or


← Page précédente   ↑ Aller en haut Copyright © CSSActif 2009 - 2013 Tous droits réservés
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Cookies | Forum gratuit