Newsgroup: it.comp.lang.javascript
Titolo: problemi con scrollIntoView su IExplorer

Saluti.
Ho riscontrato dei problemi con scrollIntoView su IExplorer (ed anche 
Opera, mi sembra) in un box con overflow: auto.
Ho scritto un pezzo di codice minimale (purtroppo al momento non ho sotto 
mano IExplorer).
Con Firefox lo scrolling funziona.
<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
">
<html xmlns="
http://www.w3.org/1999/xhtml
" 
      lang="it" xml:lang="it">
  <head>
    <title>JavaScript Scrolling</title>
    <style type="text/css">
#table_box {
  width: 100%;
  overflow: auto;
  padding: 0 0 0 0;
  margin: 0 0 0 0;
}
    </style>
 
    <script type="text/javascript">
function load() {
    var elem = document.getElementById('here');
    if (elem) {
        elem.scrollIntoView(false);
    }
}
// Attacca l'handler all'evento onload
if (window.addEventListener) {
    // Codice standard
    window.addEventListener("load", load, false);
}
else {
    // Codice per IExplorer
    window.attachEvent("onload", load);
}
    </script> 
  </head>
  <body>
    <div id="table_box">
      <table rules="all" cellpadding="10">
        <tr>
          <td>1111111111111111111111111111111</td>
          <td>2222222222222222222222222222222</td>
          <td>3333333333333333333333333333333</td>
          <td>4444444444444444444444444444444</td>
        </tr>
        <tr>
          <td>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</td>
          <td>BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB</td>
          <td>CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC</td>
          <td id="here">DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD</td>
        </tr>
      </table>
    </div>
  </body>
</html>
Grazie  Manlio Perillo

 
Ho provato ora su IExplorer 6 e in effetti non sembra funzionare.
E' un limite noto di IExplorer?
Grazie  Manlio Perillo

 E' un limite noto di IExplorer?
noto non so, ma sembra considerare solo lo scroll verticale e non
orizzontale.
-- 
"La realtà è un'illusione causata dall'assenza di alcool."
									      A.

 orizzontale.
Già.
Non vorrei si facesse problemi a causa del fatto che la tabella si trova 
dentro un box con scrolling verticale.
Saluti e grazie  Manlio Perillo

Il Tue, 26 Jun 2007 10:48:37 +0000, Manlio Perillo ha scritto:

Se a qualcuno interessa ho risolto.
Il problema sembra essere dovuto al fatto che a IExplorer non piace avere 
l'attributo id all'interno di un td.
Ho risolto facendo
<td><a id="here"></td>
ma dovrebbe funzionare anche usando un div.
Saluti  Manlio Perillo

 l'attributo id all'interno di un td.
aaah, lo usa come hash, non ci avevo pensato!
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

 aaah, lo usa come hash, non ci avevo pensato!
Cioè?
Saluti  Manlio Perillo

 Cioč?
http://developer.mozilla.org/en/docs/DOM:window.location#Properties
-- 
"Voi abili a tenere sempre un piede qua e uno lŕ
 avrete un avvenire certo in questo mondo qua
 perň la dignitŕ
 dove l'avete persa?"
									    V.R.

 
http://developer.mozilla.org/en/docs/DOM:window.location#Properties
Non lo usa come hash; non mi fare come IE che confonde gli attributi
name e id. :)
Ha usato semplicemente un tag che fa da "segnaposto" all'interno del
td; poteva essere anche uno span, o come ha detto lui un div, oppure
un b o altro.
Ciň non toglie che potrebbe usare effettivamente un anchor e l'hash,
per raggiungere il medesimo scopo tramite la location; piuttosto che
con il metodo scrollIntoView().
-- 
~ "Se un uomo non č disposto a lottare per le sue idee, o le sue idee
non valgono nulla o non vale niente lui."
(Ezra Pound)

 
http://developer.mozilla.org/en/docs/DOM:window.location#Properties
Quello che non capisco è cosa intendi dicendo che IExplorer usa l'id 
dentro il td come hash.


 name e id. :)
l'hash funziona anche con id, almeno nel tag anchor (per fortuna,
altrimenti addio compatibilità xhtml!)
-- 
"E' l' ignoranza che crea l'intolleranza
 di gente cieca e senza coscienza"
									  S.S.S.

 metodo scrollIntoView().
Si, è vero.
Ho notato però che scrollIntoView funziona meglio.
Comunque alla fine del discorso non sono ancora riuscito a capire il 
comportamente di IExplorer :).
Firefox ed Opera funzionano.


 altrimenti addio compatibilità xhtml!)
D'accordo, ma ciò non toglie che non lo usa come hash; l'ha
semplicemente inserito come segnaposto. Come ha detto anche
lui, potevano andare benissimo altri tag, come un div.
-- 
~ "Le parole uccidono più delle pallottole.
Ma le pallottole arrivano prima."
(Raffaele Cutolo)

 altrimenti addio compatibilità xhtml!)
La compatibilità con XHTML è comunque assicurata: L'XHTML Transitional
*è* XHTML.
-- 
~ Il tempo è quello che fai di lui.

 Firefox ed Opera funzionano.
Lo dici come se fosse "normale" che i browser si comportino tutti
allo stesso modo. :)
Sfortunatamente, è più facile il contrario, benché si sia lontani
dai tempi di IE4 e NS4.
-- 
~ L'intelligenza artificiale non può battere la stupidità naturale.
(Lemma di Sullivan)