IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Code JavaScript HTML OK, XHTML KO


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Par défaut Code JavaScript HTML OK, XHTML KO
    Bonjour,

    J'ai un problème que je n'arrive pas à comprendre depuis un petit moment.
    Voila, j'ai trouvé sur le web un petit bout de code permettant d'afficher sur une page web (HTML) un "scrolling text".http://www.mioplanet.com/rsc/newsticker_javascript.htm.
    Il s'agit de downloader un fichier webticker_lib.js et inclure dans la page html le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      <div id="TICKER" style="overflow:hidden; width:100%"  onmouseover="TICKER_PAUSED=true" onMouseOut="TICKER_PAUSED=false">
      	<a href="#">My First Ticker!</a></li>
      </div>
      <script type="text/javascript" src="webticker.js" language="javascript"></script>
    Le JavaScript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    // WebTicker by Mioplanet
    // www.mioplanet.com
     
    TICKER_CONTENT = document.getElementById("TICKER").innerHTML;
     
    TICKER_RIGHTTOLEFT = false;
    TICKER_SPEED = 2;
    TICKER_STYLE = "font-family:Arial; font-size:12px; color:#444444";
    TICKER_PAUSED = false;
     
    ticker_start();
     
    function ticker_start() {
    	var tickerSupported = false;
    	TICKER_WIDTH = document.getElementById("TICKER").style.width;
    	var img = "<img src=ticker_space.gif width="+TICKER_WIDTH+" height=0>";
     
    	// Firefox
    	if (navigator.userAgent.indexOf("Firefox")!=-1 || navigator.userAgent.indexOf("Safari")!=-1) {
    		document.getElementById("TICKER").innerHTML = "<TABLE  cellspacing='0' cellpadding='0' width='100%'><TR><TD nowrap='nowrap'>"+img+"<SPAN style='"+TICKER_STYLE+"' ID='TICKER_BODY' width='100%'>&nbsp;</SPAN>"+img+"</TD></TR></TABLE>";
    		tickerSupported = true;
    	}
    	// IE
    	if (navigator.userAgent.indexOf("MSIE")!=-1 && navigator.userAgent.indexOf("Opera")==-1) {
    		document.getElementById("TICKER").innerHTML = "<DIV nowrap='nowrap' style='width:100%;'>"+img+"<SPAN style='"+TICKER_STYLE+"' ID='TICKER_BODY' width='100%'></SPAN>"+img+"</DIV>";
    		tickerSupported = true;
    	}
    	if(!tickerSupported) document.getElementById("TICKER").outerHTML = ""; else {
    		document.getElementById("TICKER").scrollLeft = TICKER_RIGHTTOLEFT ? document.getElementById("TICKER").scrollWidth - document.getElementById("TICKER").offsetWidth : 0;
    		document.getElementById("TICKER_BODY").innerHTML = TICKER_CONTENT;
    		document.getElementById("TICKER").style.display="block";
    		TICKER_tick();
    	}
    }
     
    function TICKER_tick() {
    	if(!TICKER_PAUSED) document.getElementById("TICKER").scrollLeft += TICKER_SPEED * (TICKER_RIGHTTOLEFT ? -1 : 1);
    	if(TICKER_RIGHTTOLEFT && document.getElementById("TICKER").scrollLeft <= 0) document.getElementById("TICKER").scrollLeft = document.getElementById("TICKER").scrollWidth - document.getElementById("TICKER").offsetWidth;
    	if(!TICKER_RIGHTTOLEFT && document.getElementById("TICKER").scrollLeft >= document.getElementById("TICKER").scrollWidth - document.getElementById("TICKER").offsetWidth) document.getElementById("TICKER").scrollLeft = 0;
    	window.setTimeout("TICKER_tick()", 30);
    }
    Mes problèmes :
    Si la page est xhtml c'est à dire en entête on a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    le code ne marche pas, par contre si j'enlève :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    !!! le code marche !!!

    Autre chose : si on déplace le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      <script type="text/javascript" src="webticker.js" language="javascript">
    dans la partie "<head" le code ne marche pas de nouveau.

    Quelcun a une solution ?
    Merci d'avance

  2. #2
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Il y a un appel de la fonction dans le script donc dès que vous l'inclurez dans la page, il lance la fonction. Or, la div que la fonction contacte est déclarée après le <head> (logique), ce qui fait que la fonction ne trouve pas la div et s'arrête là.

    Pour le xhtml, je ne sais pas mais il y a moyen d'écrire le script plus proprement et avec plus de rigueur.

Discussions similaires

  1. [W3C] Validation html d'un code javascript
    Par jlon25 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 16/08/2007, 09h37
  2. [XHTML] Du code Javascript qui ne passe pas en validation XHTML !
    Par LestoK dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 25/07/2007, 11h22
  3. Réponses: 6
    Dernier message: 01/02/2007, 20h58
  4. [PHP-JS] Supprimer le code javascript d'un code HTML
    Par AlphaYoDa dans le forum Langage
    Réponses: 6
    Dernier message: 21/02/2006, 22h40
  5. Partager du code Javascript entre plusieurs pages HTML
    Par oceane751 dans le forum Général JavaScript
    Réponses: 29
    Dernier message: 10/01/2006, 15h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo