Liste défilante et arret du déroulement
Bonjour,
j'intérroge une base de donnée, j'affiche 20 résultats par page. Pour passer d'une page à l'autre, j'utilise une "liste défilante" contenant les liens pour accéder aux autres pages comme ci-dessous.
http://img139.imageshack.us/img139/6...nstitre1et.jpg
avec les boutons oranges je vais directement au début de la liste (ou à la fin). Avec les violets je me décale petit à petit.
Le problème est que sous IE en utilisant:
Code:
parseInt(document.getElementById('div2').style.width)-document.getElementById('div4').offsetWidth;
j'obtiens la longeur maximal et donc j'arrive bien à aller à la fin. Mais sous FF j'obtiens 0.
Pour vous aidez voici le code que j'utilise pour créer mes divs: sachant que $numb=4
$num=2
Code:
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 43 44 45 46 47 48 49 50 51 52 53 54
|
$output .= "<table align='center'><tr><td>\n";
$output .= "<img src='". $img_path ."list/Debut.gif' class='img' alt='Permet de revenir aux premières pages' onClick='Debut(".$nbpage_limit.");'>\n";
$output .= "<img src='". $img_path ."list/Gauche.gif' class='img' name='fd". $num ."' id='fd". $num ."'alt='Faire définer les pages vers le début' style='visibility:visible' onMouseover='ADroite(".$nbpage_limit.");' onMouseout='clearTimeout(timid);'> \n";
$output .= "</td><td><div name='div". $num ."' id='div". $num ."' style='position:relative;width:200pt;height:20pt;overflow:hidden;'>\n";
$output .= "<div name='div". $numb ."' id='div". $numb ."' onclick='clearTimeout(timid);' style='position:absolute;left:";
if (isset($ppos))
{
$output .= "$ppos";
}
else
{
$output .= "0pt";
}
$output .= ";'><nobr>\n";
//Boucle écrivant les n°pages
for ($nl=1;$nl<=$nbpage_limit+1;$nl++)
{
$ptitle = $nl. ($nl==1?'-ere':'-ieme') .' page';
if ($nl==1)
{
$phref = $main_url ."&start_limit=0";
}
else
{
if ($nl==$nbpage_limit+1)
{
$phref = $main_url ."&start_limit=end";
}
else
{
$phref = $main_url ."&start_limit=". ($nl-1)*$step_limit;
}
}
if ( $start_limit == (($nl-1)*$step_limit) )
{
$output .= "<b>". ($nl<10?"0$nl":"$nl") ."</b>\n";
}
else
{
$output .= "<a href='#' onclick='window.location=' ". $phref . "&renew=0&ppos='+ document.getElementById('div". $numb ."').style.left'>". ($nl<10?"0$nl":"$nl") ."</a>\n";
}
}
$output .= "</nobr></div></div></td>\n";
$output .= "<td><img src='" . $img_path ."list/Droite.gif' class='img' name='fg". $num ."' id='fg". $num ."' alt='Faire définer les pages vers la fin' style='visibility:visible' onMouseover='AGauche(".$nbpage_limit.");' onMouseout='clearTimeout(timid);'> \n";
$output .= "<img src=' ". $img_path ."list/Fin.gif' class='img' alt='Permet d'accéder aux dernières pages' onClick='Fin(".$nbpage_limit.");'> </td></tr></table>\n";
return $output; |
d'avance merci de vos réponses