JDNet | Solutions | Emploi | Votre high-tech
 
Linternaute | Copainsdavant
Séminaires & Evénements | Etudes
   

Rechercher  

 
Sociétés Prestataires Carnet Formations Progiciels Encyclo Fonds Guide d'achat Comparateur Téléchargement Livres
Actualités
   2003
   2002
   2001
   Livres
Rubriques
   Java/J2EE
   PHP
   XML
   Client Web
   Technos .NET
   Flash
   Algo/Méthodes
   Outils

Dossiers
   Tous les dossiers

   PHP, Flash, SVG
   Perl / CGI - SSI
   Langages Web
   Services Web
   Sécurité
Ressources
   Interviews

   Téléchargement
   Composants
   Documentation
Contacts
   Rédaction
   Webmaster
© Benchmark Group

Une fenêtre de news avec DynAPI
Réaliser facilement de petites fenêtres sous forme de calques DHTML (et non en "pop-up") accompagnées de boutons de défilement élégants pour afficher tout type de texte, et par exemple des news.

DynAPI est une librairie DHTML permettant de réaliser à peu près tout type d'effet (animations, capture d'événements, "widgets" tels que barres de défilement, boutons, fenêtres, etc.).
Nous nous proposons ici de réaliser une petite fenêtre (qui servira par exemple à afficher des news, mais on peut imaginer d'autres contenus) sous forme de calque DHTML, avec la possibilité de faire défiler le texte en son sein. Pour mieux faire comprendre la nature de cette fenêtre, l'exemple de la page suivante affiche le préambule de la licence GPL. Deux barres (en fait des boutons de défilement) permettent de se déplacer dans le texte. Voici le code correspondant:

<html>

<head>

<title>Exemple d'utilisation de DynAPI</title>

<script language="JavaScript" src="./dynapi/src/dynapi.js"></script>

<script language="Javascript">

 
DynAPI.setLibraryPath('./dynapi/src/lib/');
  DynAPI.include('dynapi.api.*');
  DynAPI.include('dynapi.event.*')
  DynAPI.include('dynapi.util.thread.js');
  DynAPI.include('dynapi.util.pathanim.js');
  DynAPI.include('dynapi.gui.dynimage.js');
  DynAPI.include('dynapi.gui.label.js');
  DynAPI.include('dynapi.gui.button.js');
  DynAPI.include('dynapi.gui.viewport.js');
  DynAPI.include('dynapi.gui.pushpanel.js');

</script>

<script language="Javascript">

DynAPI.onLoad = function() {
  label = new Label('
<b>General Public License</b> \(GPL\)<br><br><b>Preamble :</b><br>The licenses for most software are designed to take away your freedom to share and change it\. By contrast\, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users\. This General Public License applies to most of the Free Software Foundation\'s software and to any other program whose authors commit to using it\. \(Some other Free Software Foundation software is covered by the GNU Library General Public License instead.\) You can apply it to your programs\, too\.<br>')
  label.setWrap(true)
  label.setPadding(2)
  label.setBgColor('#DDDDDD')
  label.setSize(400,250)

  pushpanel = new PushPanel(label)
  pushpanel.setVertical()
  pushpanel.setSize(400,100)
  pushpanel.moveTo(50,50)
  pushpanel.setBgColor('#FFFFFF')
  DynAPI.document.addChild(pushpanel)
}

</script>

</head>

<body bgcolor="#ffffff">
</body>

</html>

On le voit, ce type d'effet se programme facilement grâce à la librairie de fonctions DynAPI, fonctions qui encapsulent l'essentiel des tâches nécessaires. La librairie peut être téléchargée à l'adresse:

http://dynapi.sourceforge.net/doccenter/index.php?ReleaseNotes

On fait appel ici aux objets de types Label et PushPanel, qui sont tous deux des calques avec certaines propriétés (conditionnant notamment les réponses aux événements): le premier est progressivement révélé au sein du second par l'action sur les boutons de défilement (bâtis eux-mêmes à partir d'images figurant dans la librairie).
L'objet sous-jacent, conférant à Label et PushPanel leur propriétés communes de calques, est l'objet DynLayer, est une des briques fondamentales de l'API.

L'objet Label accepte du code HTML, en n'oubliant pas de faire précéder d'un \ certains caractères comme . , " \ /, et en supprimant les retours chariots. Un tel travail peut bien sûr être automatisé via un script utilisant des expressions régulières.

DynAPI possède encore bien d'autres atouts, et continue son développement. Son principal inconvénient est aussi son principal avantage: en encapsulant au maximum, elle est aussi plus gourmande en Ko que des routines plus simples, mais moins facilement réutilisables.

[Jérôme Morlon 6 septembre 2001 , JDNet]

Gratuit - Les nouveautés de
JDNet Développeurs
Toutes nos newsletters
 

Quel est le meilleur langage pour aborder la programmation ?
Basic (VB & co...)
C/C++
Java/C#
PHP
Pascal/Delphi
Perl
Python
autre...



Les outils de développement dans le Guide des Solutions
e-business

L'encyclopédie JDNet Toutes les notions pratiques, techniques et économiques relatives à l'e-business.
>> Accès à la rubrique "Développement"

Comparez les prix Matériel, PDA, modems...
Les bonnes affaires de la high-tech avec Kelkoo.
>> Comparateur

Société | Contacts | Publicité | Presse | Recrutement | Tous nos sites | Données personelles
Pour tout problème de consultations, écrivez au Webmaster.
© Benchmark Group, 4 rue diderot 92156 Suresnes Cedex