phpRS 2.8.x : phpRS Fórum
Toto fórum je určené výhradně k diskuzi o verzích phpRS v2.8.x.
phpRS - redakční a informační systém
Menu - rollover + onClick
Zaslán uživatelem/kou: martan (IP adresa zaznamenána)
Datum: 2008-03-06, 16:45

Udělal jsem si menu, který reaguje na akci myši - onMouseOver, onMouseOut, onClick. Vloženo do fs_base.sab. Problém je ten, že při kliknutí na tlačítko se vlastně šablona načte znova a proměnou, která drží hodnotu patřící ke stisknutému tlačítku to resetuje. Dá se to nějak ošetřit?

<SCRIPT LANGUAGE="JavaScript">

  var obrazek1_vychozi =  new Image();   
	    obrazek1_vychozi.src = "tlacitka/uvod_01.gif";
	var obrazek1_novy =  new Image();   
	    obrazek1_novy.src= "tlacitka/uvod_02.gif";
	var obrazek1_select = new Image();
	    obrazek1_select.src = "tlacitka/e-shop_03.gif";
	    
  var obrazek2_vychozi  =  new Image();   
	    obrazek2_vychozi.src = "tlacitka/ukazky_01.gif";
	var obrazek2_novy  =  new Image();   
	    obrazek2_novy.src= "image/freestyle2006/tlacitka/ukazky_02.gif";
	var obrazek2_select = new Image();
	    obrazek2_select.src = "image/freestyle2006/tlacitka/o_autorovi_03.gif";
	    
	var obrazek3_vychozi  =  new Image();   
	    obrazek3_vychozi.src = "image/freestyle2006/tlacitka/tutorial_01.gif";
	var obrazek3_novy  =  new Image();   
	    obrazek3_novy.src= "image/freestyle2006/tlacitka/tutorial_02.gif";
	var obrazek3_select = new Image();
	    obrazek3_select.src = "image/freestyle2006/tlacitka/kontakt_03.gif";



var selected='obrazek0';

function zmena (jmeno)
{
  document.images[jmeno].src = eval(jmeno+"_novy.src");
}

function puvodni (jmeno)
{
  document.images[jmeno].src = eval(jmeno+"_vychozi.src");
}

function klikni (jmeno)
{
   //alert('selected na zacatku: '+selected);

   //alert('jmeno: '+jmeno)

  if(selected!='obrazek0')
	  { 
	   document.images[selected].src = eval(selected+"_vychozi.src");
	   document.images[jmeno].src = eval(jmeno+"_select.src");
	  }
	  else
	  {
    document.images[jmeno].src = eval(jmeno+"_select.src");
    }
    
  selected=jmeno;
  //alert('selected na konci: '+selected); 
}

function imageAction(akce,jmeno)
{
  if(jmeno!=selected)
    {
      if(akce=='over')
        {
          zmena(jmeno);
        }
      if(akce=='out')
        {
          puvodni(jmeno);
        }
      if(akce=='click')
        {
          klikni(jmeno);
        } 
    }
}

</SCRIPT>
	
	
  <TABLE border="0" Cellpadding="0" Cellspacing="0" align="left" >
    <TR><TD align="Center" height="0"><A ID="" HREF="#"  onMouseOver= "imageAction('over','obrazek1')" onClick="imageAction('click','obrazek1')" onMouseOut= "imageAction('out','obrazek1')"><IMG SRC="image/freestyle2006/tlacitka/uvod_01.gif" NAME="obrazek1" width="129" height="29" hspace="0" vspace="0" BORDER="0" ID="obrazek1"></A></TD>
    </TR>
    <TR><TD height="0"></TD></TR>
    <TR><TD align="Center" height="0"><A ID="" HREF="#"  onMouseOver= "imageAction('over','obrazek2')" onClick="imageAction('click','obrazek2')" onMouseOut= "imageAction('out','obrazek2')"><IMG SRC="image/freestyle2006/tlacitka/ukazky_01.gif" NAME="obrazek2" width="129" height="29" hspace="0" vspace="0" BORDER="0" ID="obrazek2"></A></TD>
    </TR>
    <TR><TD height="0"></TD></TR>
    <TR><TD align="Center" height="0"><A ID="" HREF="#" onMouseOver= "imageAction('over','obrazek3')" onClick="imageAction('click','obrazek3')" onMouseOut= "imageAction('out','obrazek3')"><IMG SRC="image/freestyle2006/tlacitka/tutorial_01.gif" NAME="obrazek3" ID="obrazek3" width="129" height="29" hspace="0" vspace="0" BORDER="0"></A></TD>
    </TR>
  </TABLE>


Re: Menu - rollover + onClick
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2008-03-06, 23:26

kombinácia s php, prípadne cookies z JavaScriptu alebo parsovanie URL z JavaScriptu, osobne by som to robil napr. na spôsob pluginu TopicTree + nejaké tie JavaScriptové udalosti alebo pridanie efektov... to už je detail generovať to z php podľa premennej v GET



Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.