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

    Aggiornare script hide/show layer per Firefox...

    Su un vecchio sito di un cliente ho trovato una cosa del genere:

    ---------------inizio CODICE--------------------------------

    <HTML>
    <HEAD>
    <SCRIPT LANGUAGE="JavaScript">
    var totalLayersInLoop=9;
    var layerNumShowing=4;

    function init(){
    if (navigator.appName == "Netscape") {
    layerStyleRef="layer.";
    layerRef="document.layers";
    styleSwitch="";
    }else{
    layerStyleRef="layer.style.";
    layerRef="document.all";
    styleSwitch=".style";
    } }

    function showLayerNumber(number){
    var layerNumToShow=number;
    hideLayer(eval('"layer' + layerNumShowing+'"'));
    showLayer(eval('"layer' + layerNumToShow+'"'));
    layerNumShowing=layerNumToShow; }

    function showLayer(layerName){
    eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="visible"'); }

    function hideLayer(layerName){
    eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="hidden"'); }

    </SCRIPT>



    <STYLE TYPE="text/css">
    #layer1 {POSITION:absolute; Z-INDEX:10; VISIBILITY:visible; LEFT:-1px; TOP:143px; width:146px; height:48px; }

    e blabla per 11 layer...
    </STYLE>


    </HEAD>

    <body onload="init()" blabla>

    <div id="layer1"><a HREF="javascript:showLayerNumber(4)">
    [img]img/bust.gif[/img]</a></div>

    blabla

    <div id="layer4">[img]img/busta.gif[/img]</div>

    blabla
    </BODY>

    </HTML>

    ---------------inizio CODICE--------------------------------

    Ovviamente la "cosa del genere" è vecchissima e non funziona con firefox... esiste un modo per aggiornarlo velocemente o devo reimpostare tutto da capo?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    la funzione init non serve piu', se la richiami onload sul body puoi eliminarla dall' onload
    codice:
    var layerNumShowing=4;
    
    function $(id){
      return (document.all)?document.all[id]:document.getElementById(id);
    }
    
    function showLayerNumber(number){
      $('layer'+layerNumShowing).style.visibility='hidden';
      $('layer'+number).style.visibility='visible';
      layerNumShowing=number;
    }

  3. #3
    Grazie xinod, perfetto!


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.