Avatar billede xcover Nybegynder
28. januar 2010 - 17:31 Der er 2 kommentarer og
1 løsning

Scroll i Safari og Chrome virker ikke

Hej,

Jeg benytter Javascript til at rykke rundt på nogle DIV´s - alt efter hvordan der scrolles på siden.
Jeg har nu teste det i både IE8 og FireFox hvor det virker super fint.

Men da jeg fik testet i Safari og Chrome blev jeg lidt skuffet fordi scroll funktionen ikke virker der...

Er det kun IE og FF som understøtter scrollLeft & scrollTop ?

Her er koden:
<script type="text/javascript">
// Scroll funktion til top_line
var scroll_div_frame_2 = null;

window.onscroll = window.onresize = function() {
    if (!scroll_div_frame_2) return;
    scroll_div_frame_2.style.left = (-document.documentElement.scrollLeft) + "px";
    scroll_div_frame_4.style.left = (-document.documentElement.scrollLeft) + "px";
    scroll_div_frame_4.style.top = (-document.documentElement.scrollTop) + "px";
    scroll_div_frame_3.style.top = (-document.documentElement.scrollTop) + "px";
}
window.onload = function() {
    scroll_div_frame_2 = document.getElementById("frame_2");
    scroll_div_frame_3 = document.getElementById("frame_3");
    scroll_div_frame_4 = document.getElementById("frame_4");
}
</script>
Avatar billede xcover Nybegynder
28. januar 2010 - 17:38 #1
Hov Safari vil jo have document.body.scrollTop...
Hvordan gør jeg så begge understøttes i min kode ?
Avatar billede xcover Nybegynder
28. januar 2010 - 19:30 #2
har fundet løsningen
Avatar billede xcover Nybegynder
28. januar 2010 - 21:07 #3
window.onscroll = window.onresize = function() {
    if (!scroll_div_frame_2) return;
        if( typeof( window.pageYOffset ) == 'number' ) {
            //Netscape compliant
            scroll_div_frame_2.style.left = (-window.pageXOffset) + "px";
            scroll_div_frame_4.style.left = (-window.pageXOffset) + "px";
            scroll_div_frame_4.style.top = (-window.pageYOffset) + "px";
            scroll_div_frame_3.style.top = (-window.pageYOffset) + "px";
        } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
            //DOM compliant
            scroll_div_frame_2.style.left = (-document.body.scrollLeft) + "px";
            scroll_div_frame_4.style.left = (-document.body.scrollLeft) + "px";
            scroll_div_frame_4.style.top = (-document.body.scrollTop) + "px";
            scroll_div_frame_3.style.top = (-document.body.scrollTop) + "px";
        } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
            //IE6 standards compliant mode
            scroll_div_frame_2.style.left = (-document.documentElement.scrollLeft) + "px";
            scroll_div_frame_4.style.left = (-document.documentElement.scrollLeft) + "px";
            scroll_div_frame_4.style.top = (-document.documentElement.scrollTop) + "px";
            scroll_div_frame_3.style.top = (-document.documentElement.scrollTop) + "px";
        }
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester