Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Scroll Layer - Compatibilità MAC !!!

    Ciao ragazzi ho uno/due problemi con il fare scorrere alcuni livelli.
    Premetto; lo script js è esterno alla pagina e viene linkato.

    Tutto funzionava bene sia su MAC che PC sino a quando ho rifatto il sito, adesso funziona solo su pc, l'unica differenza è che prima lo script risiedeva nella pagina stessa, potrebbe questo essere il motivo?

    Un'altro grosso problema, è il fatto che l'utente dovrebbe una volta lasciata la pagina con lo scroll e dovendo tornare indietro tramite un comando History.back() dovrei inserire un comando che facesse in modo che lo scroll si riporti all'inizio, invece tornando indietro li livello rimane a metà senza fare vedere tutti i dati e senza la possibilità di scrollare sino all'inizio.

    Questo lo script:

    codice:
    // begin absolutely positioned scrollable area object scripts 
    // Extension developed by David G. Miles 
    // Original Scrollable Area code developed by Thomas Brattli 
    function verifyCompatibleBrowser(){ 
        this.ver=navigator.appVersion 
        this.dom=document.getElementById?1:0 
        this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0; 
        this.ie4=(document.all && !this.dom)?1:0; 
        this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
     
        this.ns4=(document.layers && !this.dom)?1:0; 
        this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5) 
        return this 
    } 
    bw=new verifyCompatibleBrowser() 
     
     
    var speed=50 
     
    var loop, timer 
     
    function ConstructObject(obj,nest){ 
        nest=(!nest) ? '':'document.'+nest+'.' 
        this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0; 
        this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0; 
        this.scrollHeight=bw.ns4?this.css.document.height:this.el.offsetHeight 
        this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight 
        this.up=MoveAreaUp;this.down=MoveAreaDown; 
        this.MoveArea=MoveArea; this.x; this.y; 
        this.obj = obj + "Object" 
        eval(this.obj + "=this") 
        return this 
    } 
    function MoveArea(x,y){ 
        this.x=x;this.y=y 
        this.css.left=this.x 
        this.css.top=this.y 
    } 
     
    function MoveAreaDown(move){ 
    	if(this.y>-this.scrollHeight+objContainer.clipHeight){ 
        this.MoveArea(0,this.y-move) 
        if(loop) setTimeout(this.obj+".down("+move+")",speed) 
    	} 
    } 
    function MoveAreaUp(move){ 
    	if(this.y<0){ 
        this.MoveArea(0,this.y-move) 
        if(loop) setTimeout(this.obj+".up("+move+")",speed) 
    	} 
    } 
     
    function PerformScroll(speed){ 
    	if(initialised){ 
    		loop=true; 
    		if(speed>0) objScroller.down(speed) 
    		else objScroller.up(speed) 
    	} 
    } 
     
    function CeaseScroll(){ 
        loop=false 
        if(timer) clearTimeout(timer) 
    } 
    var initialised; 
    function InitialiseScrollableArea(){ 
        objContainer=new ConstructObject('divContainer') 
        objScroller=new ConstructObject('divContent','divContainer') 
        objScroller.MoveArea(0,0) 
        objContainer.css.visibility='visible' 
        initialised=true; 
    } 
    // end absolutely positioned scrollable area object scripts

    Vi prego, aiutatemi !!

  2. #2
    Nessuno mi aiuta ? :quote:

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Calma un attimo: il grosso degli utenti e` ancora addormentato (o impegnato altrove ).

    per lo scroll all'inizio, basta che metti:
    <body onload="window.scrollTo(0,0);">

    Per l'errore che ti da` il browser su Mac.
    Dovresti specificare su quali browser funziona e su quali no.
    Non e` comunque il fatto di aver spostato lo script in un file a parte: probabilmente c'e` un errore di sintassi, che IE non rileva e gli altri browser si`.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Thank's my moderator,
    Non ho la possibilità di testare il comando: <body onload="window.scrollTo(0,0);"> appena ho fatto di fò sapè !

    Per il la compatibilità MAC il Browser del MAC è rimasto quello di quando funzionava, non è cambiato è sempre Internet Explorer 5.

    Grazie

  5. #5
    Per il problema di far tornare a (0) il layer allo scaricamento della pagina, effettivamente bastava mettere al posto del nome funzione:
    function InitialiseScrollableArea()
    function InitialiseScrollableArea(0,0)


    Invece la cosa che mi preme di più è il problema di scrolling con i sistemi MAC

    Mi aiutate a capire ?!!







    .

  6. #6
    Immagino che il problema si nasconde nel verificare la compatibilità del bowser, o è necessario inserire anche un controllo per il sistema operativo ?


    codice:
    function verifyCompatibleBrowser(){ 
        this.ver=navigator.appVersion 
        this.dom=document.getElementById?1:0 
        this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0; 
        this.ie4=(document.all && !this.dom)?1:0; 
        this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
     
        this.ns4=(document.layers && !this.dom)?1:0; 
        this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5) 
        return this 
    }


  7. #7
    Nessuno ! :quote:

  8. #8
    :quote: :quote:

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.