2010-02-27 3 views
4
scrollPosition = window.frames[id].document.body.scrollTop; 

Le code ci-dessus ne fonctionne pas correctement. S'il vous plaît dites-moi comment le corriger.Comment faire pour obtenir la position de défilement iframe dans IE en utilisant Java Script?

+0

Peut-être que si vous ajoutez d'autres explications ... De quelle manière cela ne fonctionne pas correctement, obtenez-vous une permission/accès refusé erreur du navigateur, ou il renvoie une valeur incorrecte? –

Répondre

3

Pour scrollTop d'une manière crossbrowser jQuery fait ceci:

function GetScrollTop() 
{ 
    var doc = document.documentElement 
    var body = document.body; 
    return ((doc && doc.scrollTop) || (body && body.scrollTop || 0)) - (doc.clientTop || 0); 
} 

j'utilise simplement ceci:

return document.documentElement.scrollTop || document.body.scrollTop 
1

Si le document du cadre est situé sur un domaine différent, vous ne pourrez pas accéder à la plupart des propriétés et des objets à cause du same origin policy.

0

Eh bien, je pense que ce que vous cherchez est facile à obtenir si vous utilisez jQuery. Cela pourrait donc valoir la peine d'être examiné?

http://api.jquery.com/scrollLeft/ il y a aussi scrollTop (api.jquery.com)

+0

Avez-vous une idée de ce qu'il faut pour regarder dans le code source jQuery? Il est plus simple de regarder dans le code YUI/prototype. –

Questions connexes