Visualizzazione dei risultati da 1 a 6 su 6

Discussione: problema con scroller

  1. #1

    problema con scroller

    Ho pescato uno script in rete per emulare uno scroller che si attiva al mouseover su due immagini. l'ho modificato per permettere di caricare più pagine nella stessa finestra.. fin qui tutto ok, il problema è che non è compatibile con Netscape/Mozilla.
    Questo molto probabilmente perchè la struttura su cui si basa lo script è un iframe.
    Il funzionamento è il seguente: il contenuto della pagina che deve venire caricata nell'area scrollabile viene bufferizzato nell'iframe settato invisibile, e poi reso disponibile nell'area.
    sapete darmi una mano? io con javascript sto praticamente a zero.. conosco appena l'indispensabile.
    non vi ringrazierò mai abbastanza se riuscite a risolvermi questo problema
    qui la pagina di esempio
    e qui il .js
    ps: se non funge lo scroll fate refresh, dopo va :bubu:
    precipito

  2. #2
    pubblico il .js dato che dal link non si apre direttamente

    codice:
    /*
    Extension developed by David G. Miles (www.z3roadster.net/dreamweaver)
    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=10 
     
    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 
    
    ns = (document.layers)? true:false
    ie = (document.all)? true:false
    
    function loadSource(id,nestref,url){
    	if (ns) { var lyr = (nestref)? eval('document.'+nestref+'.document.'+id) : document.layers[id]
    	            lyr.load(url,lyr.clip.width) }
    	else if (ie) { parent.bufferFrame.document.location = url	}
    }
    
    function loadSourceFinish(id) {
    	if (ie) document.all["divContent"].innerHTML = parent.bufferFrame.document.body.innerHTML
                   objScroller.MoveArea(0,0) 
    }
    precipito

  3. #3

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Mozilla non è nè un NN4 nè un IE,
    l' unico DOM supportato è document.getElementById
    quando carichi il contenuto nell' iframe nascosto
    questo non viene preso in considerazione,

    adesso non ho tempo di proporti delle modifiche,
    se non hai troppa fretta ci do un' occhiata quando posso,
    ciao

  5. #5
    grazie per la risposta
    figurati non c'è problema, quando hai tempo.
    precipito

  6. #6
    ho rimediato.. grazie lo stesso :bubu:
    precipito

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.