SimpleJS: Des effets ajax pour les debutants Par JarodxXx
le mercredi 28 mars 2007, 15:17
SimpleJS est une bibliothèque Ajax (rien de nouveau) développée par : Chris à la différence que les sorties de script, je parle ici de l'intégration des effet dans votre site web est d'une simplicité enfantine, a la seule condition de bien respecter la procédure donnée dans les tutoriels...
Avant toute chose je vais présenter le package proposé en téléchargement (TELECHARGER ICI)
L'archive contient 3 dossiers :
- /elems/ qui contient une CSS et une image... (pour les exemples)
- /example/ qui contient les fichiers d'exemple en HTML + un repertoire photo
- /lib/ qui contient les librairies !
- simple.js qui est la base nécessaire au fonctionnement de tous les effets, il permet a lui seul de générer pas mal d'effets !!!
- simpleslish.js, c'est un pluggin, c'est a dire un fichier supplémentaire qui s'associe avec simpleJS pour faire fonctionner une galerie photos
- simpleajax.js, un autre pluggin dont je connais pas encore l'utilité (:s)
- simpleacco.js, le pluggin qui permet de gérer les effets de slide
Hey non je plaisante, :p je vais quand même vous montrer des exemple (^^)
Je vais commencer par expliquer comment ca marche:
Pour les effets de base on appel le fichiers de base uniquement, pour les effets supplementaire, on appel les fichiers pluggin correspondant...
Pour ne pas se compliquer la vie (le but ici et de voir comment ca marche et non pas comment on l'optimise) on va appeler tous les fichiers...
Mettez le code suivant entre <head> et </head>
Notez que mes fichiers sont placé dans un dossier nommé /js/ !!<script src="js/simple.js" type="text/javascript"></script>
<script src="js/simpleslish.js" type="text/javascript"></script>
<script src="js/simpleacco.js" type="text/javascript"></script>
Et on attaque par les effets de base ...
Une fois les fichiers .js ajouter a l'entente de votre site, il ne vous reste plus qu'a ajouter l'attribut : onclick avec son paramètre par exemple :
onclick="$pulsate(this.id,5,400); return false"onclick="$opacity(this.id, 100, 20, 600); return false"
Voyons ensuite les effets de slide (accordéon)Pour plus de facilité consultez la démo et affichez la source (CTRL+U sous firefox ou affichage> source sous IE )<div id="hlel_1" class="hihltest" onclick="$pulsate(this.id,5,400); return false">$pulsate</div>
<div id="hlel_2" class="hihltest" onclick="$opacity(this.id, 100, 20, 600); return false">$opacity</div>
<div id="hlel_3" class="hihltest" style="filter:Alpha(opacity=1,finishopacity=0,style=2);-moz-opacity:100; opacity:100;" onclick="$shiftOpacity(this.id,400); return false">$shiftOpacity</div>
<div id="hlel_4" class="hihltest" onclick="$highlight(this.id); return false">$highlight</div><div id="hlel_5" class="hihltest" onclick="$textColor(this.id, '#00FF66','#666666',700); return false">
$textColor</div>
<div id="hlel_6" class="hihltest" onclick="$morphColor(this.id, '#FFFFFF', '#666666', '#FF6600', '#FFFFFF','#FFCC00', '#CCCCCC', 600);
return false">$morphColor</div>
Visualisez la démo des effet de base
Commencez par initialiser les éléments qui seront concerné par les effets
Exemple :
Puis insérez l'effet :<script>
$AccoInit('acco0;acco1;acco2;acco3;');
</script>
Par exemple :
onclick="$accopush(0); return false" ou
onclick="$accopush(0,true); return false"
En ajoutant true l'effet change<a href="#" onclick="$accopush(0); return false">$accopush(0)</a> or <a href="#" onclick="$accopush(0,true);
return false">$accopush(0,true)</a></div>
<div id="acco0" class="accotexte"><div class="myborder">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec adipiscing fermentum mi.
Vestibulum volutpat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;
Proin massa enim, sollicitudin et, adipiscing a, lobortis vel, nisi. Donec ut dolor. Nullam vel orci.
Nam sem sem, rhoncus sit amet, faucibus et, venenatis vel, ligula. Vestibulum ante
ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse
potenti. Etiam tincidunt enim in tellus. Integer in felis. Cras vestibulum, ante in adipiscing tempor,
tortor nisi gravida purus, varius convallis tellus sem eget ante. Aenean sit amet urna non nisl sagittis
condimentum. Maecenas non nunc non felis elementum consequat. Donec et felis.</div>
Visualisez la démo des effet d'accordéonsPour plus de facilité consultez la démo et affichez la source (CTRL+U sous firefox ou affichage> source sous IE )
Il ne reste plus que la galerie photos a essayer (^^)
La encore il va falloir initialiser la fonction, comme tout a l'heure en listant les photo (atention aux adresses !!! Si les photos se trouvent dans un dossier, il faudra le signifier ex: photo/image1.jpg ...)
Une fois les photos initialisée on va placé la galerie :<script>
$slish('maphoto',"photos/manga1.jpg;photos/manga2.jpg;photos/manga3.jpg;photos/manga4.jpg;photos/manga5.jpg;",900);
</script>
Vous pourrez utiliser les fonction suivantes :
Puis<script type="javascript">
$slishToNum(1); //Aller a image 1
$slishPREV(); $slishNEXT(); // Aller a l'iamge suivante ou precedente.
$slishPLAY(3000); $slishSTOP(); //Arreter ou lancer le diaporama
</script>
Ca ressemble a un affichage d'image tout bete, le id="maphoto" va s'occuper de tout !
<img src="image1.jpg" name="mypicture" width="200" height="200" id="mypicture" />
Ensuite on va afficher les images en miniature avec un lien cliquable pour voir les photos en grand:
Pour améliorer votre galerie vous pouvez ajouter des boutons de navigation (suivant precedent)<a href="#" onclick="$slishToNum(1); return false"><img src="photos/manga1.jpg"
class="miniphotos" width="32" height="32"></a>
<a href="#" onclick="$slishToNum(2); return false"><img src="photos/manga2.jpg"
class="miniphotos" width="32" height="32"></a><a href="#" onclick="$slishToNum(3); return false"><img src="photos/manga3.jpg"
class="miniphotos" width="32" height="32"></a>
<a href="#" onclick="$slishToNum(4); return false"><img src="photos/manga4.jpg"
class="miniphotos" width="32" height="32"></a>
<a href="#" onclick="$slishToNum(5); return false"><img src="photos/manga5.jpg"
class="miniphotos" width="32" height="32"></a>
<img id="btnprev" class="diabutton" src="photos/btn_prev.gif" onclick="$slishPREV();" alt="prv">
<img id="btnnext" src="photos/btn_next.gif" alt="next" onclick="$slishNEXT();" class="diabutton">
et ajouter aussi les boutons pour démarrer ou arreter le diaporamaPour plus de facilité consultez la démo et affichez la source (CTRL+U sous firefox ou affichage> source sous IE )<a href="#" class="linktest" onclick="$slishPLAY(3000); return false">play</a>
<a href="#" onclick="$slishSTOP(); return false" class="linktest" >pause</a>
Visualisez la démo des effet d'accordéons
Voila !
Vous pouvez consulter le site officiel ou attendre que je finisse de développer un site pour voir l'application de ces effets qui sont tous compatible entre eux












Ziki
Dailymotion
Flickr
Technorati
Twitter
1. Le mercredi 28 mars 2007, 17:21 par ShadowKris
C'est une librairie qui m'a l'air plutot pas mal, mais je vois pas pourquoi tu met "[mootools]" dans ton titre alors que ce n'est pas le sujet (si ce n'est que c'est aussi un frameworks js/ajax)...
Bref, bonnes démo, j'attend de voir le site avec d'autres exemples =)
2. Le mercredi 28 mars 2007, 18:41 par LateLament
Moins puissant que script.aculo.us ou jquery mais aussi beaucoup moins lourd, une bonne alternative en fonction des fonctions désirées.
3. Le mercredi 28 mars 2007, 21:05 par JarodxXx
Le but n'est pas de concurencer aculos ou quiquonque mais de simplifier nettement l'utilisation du javascript ...
quand au titre mootools, c'est parceque la librairie est basée sur mootools et non jquery (tout a coup j'ai un doute :s )Edit : Chris a reglé la question
4. Le mercredi 28 mars 2007, 21:45 par Chris
non simpleJS est basé sur... simpleJS. seul la fonction ajax est basée sur sack. mais aucun rapport avec moo
5. Le mardi 19 juin 2007, 11:01 par veronica
bonjour,
pour le moment j'ai un blog blogger sur lequel je voudrais utiliser le systeme accordeon puis je integrer les scripts java sur mon blog...
6. Le mardi 19 juin 2007, 16:34 par jarodxxx
JE ne connais pas blogger, mais si la plateforme autorise l'édition du code source et l'upload de fichiers (ce qui m'etonerais) tu pourra
7. Le lundi 24 septembre 2007, 19:48 par phicarre
et comment pulser plus longtemps jusqu'à ce que l'on appuie sur un bouton par exemple ?
8. Le mardi 13 mai 2008, 10:33 par ImanGfx
Pas mal, mais je défiant concernant ajax
www.imandesign.at
9. Le lundi 21 juillet 2008, 22:51 par ricric
petite modif
bonjour, voici une petite modification : il y a un bug dans le fichier simpleajax.js
les javascripts insérés ne sont pas interprétés lors du chargement d'une page
cependant, le pb n'est pas completement résolu...seules les fonctions du types "onclick" sont ajoutées.
Les fichiers complets ne sont pas lu (du coup, il vaut mieux faire les includes dans la page appelante...)
il faut modifier la fonction function ajax_parseJs(obj) par :
function ajax_parseJs(obj){
var _1d=obj.getElementsByTagName("SCRIPT");
var _1e="";
var _1f="";
for(var no=0;no<_1d.length;no++){
if(_1d[no].src){
var _21=document.getElementsByTagName("head")[0];
var _22=document.createElement("script");
_22.setAttribute("type","text/javascript");
_22.setAttribute("src",_1d[no].src);
}else{
if(navigator.userAgent.toLowerCase().indexOf('opera')>=0){
eval(_1d[no].text);
_1f=_1f+_1d[no].text+" ";
}else{
eval(_1d[no].text);
_1f=_1f+_1d[no].innerHTML;
}
}
}
if(_1f){
ajax_installScript(_1f);
}
}