31 déc. 2008
Noobslide, un slideshow pour vos photos
12:37
Jean-Christophe Duvivier
Application
Frameworks
Masques
Mootools
Slideshow
Après quelques jours de silence, j'ai envie de vous faire découvrir noobslide, un Slideshow basé sur le Frameworks Mootools. "Découvrir" sous-entend "mini tuto", je vais me contenter d'une brève présentation qui je l'espère vous poussera à l'utiliser ;)
Sans plus attendre je vous invite sur le site efectorelativo.net qui propose 8 exemples d'utilisation de noobslide. Les effets sont variés et beaux visuellement.
1. Mise en place des scripts :
La mise en place du Slideshow est vraiment très simple.
Tout d'abord il faut inclure le script Mootools, et le script noobslide :
<script type="text/javascript" src="site/js/mootools.js"></script> <script type="text/javascript" src="site/js/noobslide.js"></script>
Ensuite, insérez le script spécifique à votre modèle de noobslide dans le head. Il sera exécuté au chargement de votre page. Pour le modèle 1, cela donne ça :
window.addEvent('domready',function(){ var nS1 = new noobSlide({ box: $('box1'), items: [0,1,2,3], size: 480, autoPlay: true }); });
Vous pouvez récupérer le code correspondant à votre modèle directement dans le code source du site efectorelativo.net.
2. Mise en place des styles:
Au niveau des styles, il faut intégrer la feuille de style suivante (n'oubliez pas de supprimer les styles des modèles qui ne vous servent pas)
/* Sample 1*/ #box1{ position:absolute; } #box1 span{ display:block; float:left; } /* Sample 2*/ #box2{ position:absolute; } #box2 span{ display:block; float:left; } /* Sample 3*/ #box3{ position:absolute; } #box3 span{ display:block; float:left; } /* Sample 4*/ #box4{ position:absolute; } #box4 div{ width:480px; height:240px; float:left; background:#eee; } #box4 h3, #box4 p, #box4 ul{ padding:5px 10px; } #box4 p{ text-indent:16px; } #box4 img{ width:200px; width:150px; float:left; margin:0 10px 10px 15px; } #info4{ background:#fff !important; color:red !important; cursor:default } /* Sample 5*/ #box5{ position:absolute; width:240px; } #box5 span{ display:block; } #info5{ bottom:0; } /* Sample 6*/ #box6{ position:absolute; width:240px; } #box6 span{ display:block; } #handles6_1{ float:left } #handles6_2{ float:right } .mask6{ position:absolute; left:50%; margin-left:-120px; width:240px; height:180px; overflow:hidden; } .sample6 .buttons{ clear:both; text-align:center; } /* Sample 7*/ #box7{ position:absolute; } #box7 span{ display:block; float:left; } #thumbs7{ position:relative; width:486px; clear:both; height:41px; overflow:hidden; margin-top:200px; } #thumbs7 .thumbs, #thumbs_handles7, #thumbs_mask7{ position:absolute; top:0; width:100%; height:41px; } #thumbs7 .thumbs div, #thumbs_handles7 span{ display:block; width:60px; height:41px; margin:0; float:left; cursor:pointer; } #thumbs7 .thumbs div img{ width:54px; float:right; } #thumbs_handles7 span{ background:url(thumb_invisible.gif) no-repeat; } #thumbs_mask7{ width:1200px; background:url(thumbs_mask.gif) no-repeat center top; } /* Sample 8*/ #box8{ position:absolute; } #box8 div{ width:480px; float:left; } #box8 .buttons{ text-align:left } #box8 .next{ float:right } .sample8 .buttons{ text-align:center; clear:both; } .sample8 .mask1{ border-top:1px solid #ccc; border-bottom:1px solid #ccc; } /* ********************************** */ .thumbs{ width:54px; } .thumbs div{ display:block; width:54px; height:41px; margin:3px 0; cursor:pointer; } .thumbs div img{ display:block; width:100%; height:100%; border:none } .info{ width:240px; height:50px; background:#000; position:absolute; } .info p, .info h4{ color:#fff; padding:3px 8px; font-family:Arial; } .info h4{ font-size:14px; } .info h4 a{ float:right; background:#fff; color:#000; font-size:10px; padding:0 3px; text-decoration:none } .mask1{ position:relative; width:480px; height:180px; overflow:hidden; } .mask2{ position:relative; width:240px; height:180px; overflow:hidden; } .mask3{ position:relative; width:480px; height:240px; overflow:hidden; } span img{ display:block; border:none; }
3. Mise en place du squelette :
Encore une fois, il va vous falloir fouiner dans le code source du site efectorelativo.net. Pour le modèle 1, on aurait ce squelette :
<h2>Sample 1</h2> <div class="sample"> <div class="mask1"> <div id="box1"> <span><img src="img1.jpg" alt="Photo" /></span> <span><img src="img2.jpg" alt="Photo" /></span> <span><img src="img3.jpg" alt="Photo" /></span> <span><img src="img4.jpg" alt="Photo" /></span> <span><img src="img5.jpg" alt="Photo" /></span> <span><img src="img6.jpg" alt="Photo" /></span> <span><img src="img7.jpg" alt="Photo" /></span> <span><img src="img8.jpg" alt="Photo" /></span> </div> </div> </div>
Et voilà, votre Slideshow est en principe opérationnel ;) Il ne vous reste plus qu'à l'adapter à votre application, chose qui se révèle être beaucoup plus complexe que la mise en place. Il vous faudra gérer les positions des masques et des images ;)
Exporter le résultat d'une requête SQL en CSV et




novembre 2011
Commentaires
Le 30 mar. 2009 à 13:06
bonjour!
j'essaie d'utiliser le slide 2 dans mon appli.
Pour un seul slide de type 2 ca marche.
mais comment faire si je veux utiliser plusieurs slides de type 2 en meme temps?
Le 15 mai 2009 à 03:30
juste pour vous dire votre analyse me plais beacouuuup merci
Le 29 oct. 2009 à 23:37
rien a dire toujours le meilleur du web!
Le 20 fév. 2010 à 03:27
I do not opine that each single student in the world has a passion of essay papers writing! Nevertheless, people ,which do not have writing skillfulness should utilize an assistance of famous <a href="http://quality-papers.com">paper writing service</a> and be happy with a result.
Le 21 juil. 2010 à 15:48
Salut,
une idée sur la manière de faire un appel à une base de données pour le sample 6 ?
Je n'ai pas de probleme avec les photos;
mais je n'arrive pas générer mon contenu dynamique pour var sampleObjectItems =[]; (je travaille en php et mysql);
Le 23 sept. 2010 à 15:37
Bonjour à tous !
Je me suis bien amusé à faire joujou avec noobslide, très bien fait et facile à customiser .. Sauf que .. Je suis novice en js et il me manque une fonctionnalité qui pourrait être utile .. En effet, mes images sont cliquables, et j'aimerais ajouter un petit stop au survol avec un mouseenter et une reprise du défilement sur mouseleave. Si une âme charitable passe par là et peut me donnner des pistes .. ?
Merci !!!
*G