Scrollup et down d'une shoutbox [Résolu]

Signaler
Messages postés
13
Date d'inscription
mardi 7 mars 2006
Statut
Membre
Dernière intervention
4 août 2009
-
Messages postés
13
Date d'inscription
mardi 7 mars 2006
Statut
Membre
Dernière intervention
4 août 2009
-
Bonjour,
Voilà j'ai un probleme avec le scroll up and down sous firefox car sur le autre navigateur ça marche impec.
Pouvez-vous m'aider à identifier le problème merci.

Rendez-vous ici : http://thesoldatryan.free.fr/
pour voir le problème (avec firefox bien sûr ^^)

Merci d'avance!

<script language="JavaScript" type="text/JavaScript">

    var AMOUNT = 1;

    var TIME = 1;

    var timer = null;


    function scrollIt_down(v){

        var direction=v?1:-1;

        var distance=AMOUNT*direction;

        window.Shoutbox.scrollBy(0,distance);

    }

    

    function down(v){

        if(timer) { clearInterval(timer); timer=null; }

        if(v)timer=setInterval("scrollIt_down(true)",TIME);

    }

    

    function scrollIt_up(v){

        var direction=v?1:-1;

        var distance=AMOUNT*direction;

        window.Shoutbox.scrollBy(0,-distance);

    }

    

    function up(v){

        if(timer) { clearInterval(timer); timer=null; }

        if(v)timer=setInterval("scrollIt_up(true)",TIME);

    }

    </script>

10 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
j'ai pu regarder.
différence ( là aussi, hélas ) entre FF et IE.
    ch'tit exemple :

 
          
   
   
<script type="text/JavaScript">
    var AMOUNT = 1;
    var TIME = 1;
    var timer = null;        var ie false;    /*@cc_on    ie true;    @*/
        var tmp;
        if ( !ie )
                tmp=document.getElementById("Shoutbox").contentWindow;
        else    tmp=window.frames["Shoutbox"];
    function scrollIt_down(v){
        var direction=v?1:-1;
        var distance=AMOUNT*direction;
        tmp.scrollBy(0,distance);
    }
    function down(v){
        if(timer) { clearInterval(timer); timer=null; }
        if(v)timer=setInterval("scrollIt_down(true)",TIME);
    }
    function scrollIt_up(v){
        var direction=v?1:-1;
        var distance=AMOUNT*direction;
        tmp.scrollBy(0,-distance);
    }
    function up(v){
        if(timer) { clearInterval(timer); timer=null; }
        if(v)timer=setInterval("scrollIt_up(true)",TIME);
    }
</script>

<hr />


Cordialement            Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Bonjour,

    et tu pourrais nous dire ce qui ne fonctionne pas ?
    ça nous aiderait...
    mais, déjà, c'est quoi Soutbox ?
       avec FF ( et consors ) on ne peut pas adresser un élément comme ça.
       s'il est dans un formulaire : document.name du formulaire.name de l'élement....
       sinon ( ou même ) document.getElementById("id de l'élément")....
          avec <élément id= "

id de l'élément

"...>

<hr />


Cordialement                Bul     [mon Site]     [=Bul M'écrire]



<hr />
Messages postés
13
Date d'inscription
mardi 7 mars 2006
Statut
Membre
Dernière intervention
4 août 2009

ce qui ne fonctionne pas c'est quand l'on pointe avec la souris sur le flèche de ma shoutbox pour faire défilé le contenu de haut en bas et inversement.
Test sur mon site et tu vera le problème (seulement avec Firefox).
La shoutbox est un élément où l'on indique son pseudo + son message et on l'envoi.

voilà comment le l'ai défini :

if(!empty($_GET['shoutbox']))
{
 ?>
 " text= "<? echo $textcolor ?>">
 <?
 $fp = fopen("shoutbox.dat","r");
 $Data = fread($fp, 80000);
 fclose($fp);
 $Data = stripslashes($Data);
 echo "" .$Data. "";
}
else
{
if(!empty($_POST['shout_send']))
{
 $bool = strstr($_POST['shout'], "<");
 if(!$bool)
 {
  if (empty($_POST['shout']) OR empty($_POST['username']) OR $_POST['username'] == "Username" OR $_POST['shout'] == "Message")
  {
   $alert = "Remplissez tous les champs s.v.p";
  }
  else
  {
   $time = date("H:i:s");
      $fp = fopen("shoutbox.dat","r");
   $OldData = fread($fp,80000);
     fclose($fp);
   $Input = "(" .$time. ") " .$_POST['username']. " : " .$_POST['shout']. "
\n";
   $New = "$Input$OldData";
   $fp = fopen("shoutbox.dat","w+");
   fwrite($fp, $New, 80000);
   fclose( $fp );
   ?>
   <SCRIPT LANGUAGE="JavaScript">
   document.location.href="index.php"
   </SCRIPT>
   <?
     }
 }
 else
 {
  $alert = "HTML interdit";
 }   
}
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
je me cite ?
avec FF ( et consors ) on ne peut pas adresser un élément comme ça.
       s'il est dans un formulaire : document.name du formulaire.name de l'élement....
       sinon ( ou même ) document.getElementById("id de l'élément")....
          avec <élément id= "

id de l'élément

"...>
si ça ne suffit pas : là, tu nous met le php ? comment je vois le contenu des $variables ?
le contenu de
shoutbox.dat ? la page générée est nécessaire, enfin,
un extrait... pas le PHP.






<hr />



Cordialement            Bul     [mon Site]     [=Bul M'écrire]



<hr />
Messages postés
13
Date d'inscription
mardi 7 mars 2006
Statut
Membre
Dernière intervention
4 août 2009

La page générée est le fichier index.php de mon site : http://thesoldatryan.free.fr/ c'est là que tu vera ce que ça donne et par la même occasion mon problème avec Firefox.
Essaye de faire un scroll up/down de la shoutbox sur FF et IE tu vera ce qui marche pas.
Fait un "Afficher le source code" avec ton navigateur pour voir la partie visible de mon source.

Voilà mon début de code de mon fichier index.php :

<?
// Color Setup
 $bgcolor   = "#FFFFFF"; // Background
 $textcolor = "#333333"; // Texte
 $linkcolor = "#880000"; // Couleur du lien
 $linkcolor2 = "#CC0000";// Couleur du liens quand la souris passe dessus
 $tabbg     = "#003366"; // Couleur des ligne du tableau
 $tilcolor  = "#EEEEEE"; // Table "shoutbox" BG color
 $subtitle = "#FAFAFA"; // Table Nom Modified Taille et Dossier(s): Fichier(s):
// Misc
 $title = "< Dlyan Space >";
 $directory = "."; // Dossier racine (pas de slash apres) 
      // Si vous avez l'ancien script mettez "ftp" si vous ne voulez  pas tout re uploader
 $dirdate   = "d/m/y H:i"; // Format date pour la derniere modification 
 $images    = "images";  // Dossier ou se trouvent les images du script (si vous changer le repertoire des images du script, modifier ceci)
 $logo    = "logo.jpg"; // Nom du logo (doit etre dans le repertoire image ci-dessus)




 





 $forbidden = array();
 $forbidden[] = '.';
 $forbidden[] = '..';
 $forbidden[] = 'index.php';
 $forbidden[] = $images;
 $forbidden[] = 'credits.php';
 $forbidden[] = 'hitcounter.dat';
 $forbidden[] = 'shoutbox.dat';
 $forbidden[] = 'img.php';
 $forbidden[] = 'txt.php';
 $forbidden[] = 'shoutbox.php';
 $forbidden[] = "Thumbs.db";
 $forbidden[] = "desktop.ini";
 $forbidden[] = ".htaccess";
 $forbidden[] = ".htpasswd";



$debut = strlen($directory);
Messages postés
13
Date d'inscription
mardi 7 mars 2006
Statut
Membre
Dernière intervention
4 août 2009

" text= "<? echo $textcolor ?>">
 ----

       <form method ="POST" style="margin: 0px">
     <table border="0" cellpadding="1" cellspacing="" width="100%" style="border: 1 solid <? echo $tabbg ?>">
       ----

        , \" style=\"border-bottom: 1 solid <? echo $tabbg ?>\"> Shoutbox </td>
      
       ----

              
     
     ,
         /arrow_up.gif" width ="10" height="10">
/arrow_down.gif" width="10" height="10">,
      
    

          ----

          
     " maxlength="10">
     " maxlength="100">
     
    ,
   
   




         <?
      if(empty($alert))
      {
       $alert = "";
      }
      else
      {
       echo "
".$alert;   
      }
      ?>
   </form>
  </td>
     <td width="60%" valign="top">
  <? include("credits.php") ?>

  </td>
  </tr>  

Ceci devrait peut être d'aider à voir plus clair
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
je ne sais pas comment t'expliquer les choses...
je vais répéter qand même.

ne nous postes pas le php, on ne sait pas ce qu'il y a dans les $variables,
        met nous la page html générée.


window.Shoutbox....
ça ne fonctionne pas avec FF

il faut utiliser document.getElementById("
Shoutbox")





<hr />



Cordialement            Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
13
Date d'inscription
mardi 7 mars 2006
Statut
Membre
Dernière intervention
4 août 2009

Merci, j'ai compris.
Je viens de supprimer ma petite erreur HTLM et j'ai remplacé window.Shoutbox.scrollBy(0,distance) par

document.getElementById("Shoutbox").scrollBy(0,distance).

apparament ça fonctionne pas encore, pas sur FF ni IE. Cela vient de la fonction scrollBy je crois.
J'ai fais quelque recherche et je suis tombé sur quelqu'un qui a visiblement le même problème que moi mais il l'a résolu sans vraiment dire comment :

http://www.sitepoint.com/forums/showthread.php?referrerid=86491&t=259616
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
dès que je peux, je regarde les fonctions "scroll"
entre nous : pourquoi n'avoir pas utilisé la balise <marquee>  ?
c'est ce quelle fait. toute seule.
<hr />


Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
13
Date d'inscription
mardi 7 mars 2006
Statut
Membre
Dernière intervention
4 août 2009

Rahh j'te remerci beaucoup bultez ton dernier post m'a super bien aider.
Encore une fois grand merci, ça marche nikel maintenant sous FF et IE