Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wielkosc tekstu
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Youkash
Witam!

dostalem taki fajny skrypcik ktory powieksza/pomniejsza tekst na stronie.
Ma tylko jedna wade mozna powiekszac/pomniejszac w nieskonczonosc a to nie jest zbyt madre. Czy mozna zrobic tak zeby tylko powiedzmy 2 razy mozna bylo powiekszyc i 2 razy zmniejszyc?? Chodzi mi o to zeby po 2 klikniecu tekst juz sie nie powiekszal/pomniejszal.
Kod
function minusSize()
{
    if(stBrowser.sBrowser == "IE")
    {
  oCSS = document.styleSheets[0].rules;
    }
    else
    {
  oCSS = document.styleSheets[0].cssRules;
    }
    
    for(i=0; i < oCSS.length; i++)
    {
  if (oCSS[i].style.fontSize != "")
  {
     oCSS[i].style.fontSize = parseInt(oCSS[i].style.fontSize) - 2;  
  }
    }
}

function plusSize()
{
    if(stBrowser.sBrowser == "IE")
    {
  oCSS = document.styleSheets[0].rules;
    }
    else
    {
  oCSS = document.styleSheets[0].cssRules;
    }
    
    for(i=0; i < oCSS.length; i++)
    {
  if (oCSS[i].style.fontSize != "")
  {
     oCSS[i].style.fontSize = parseInt(oCSS[i].style.fontSize) + 2;  
  }
    }
}

to tylko oczywiscie czesc skryptu ale powinna wystarczyc, jezli beda problemy to moge wstawic caly
revyag
Najprościej to dodać zmienną globalna zliczającą liczbę klików smile.gif
Kod
var click=0;

function minusSize() {
    if(click > -2) {
        if(stBrowser.sBrowser == "IE"){
            oCSS = document.styleSheets[0].rules;
        } else {
            oCSS = document.styleSheets[0].cssRules;
        }
        for(i=0; i < oCSS.length; i++) {
            if (oCSS[i].style.fontSize != "") {
              oCSS[i].style.fontSize = parseInt(oCSS[i].style.fontSize) - 2;
              click--;
            }
        }
    }
}

function plusSize() {
    if(click < 2) {
        if(stBrowser.sBrowser == "IE") {
            oCSS = document.styleSheets[0].rules;
        } else {
            oCSS = document.styleSheets[0].cssRules;
        }
        for(i=0; i < oCSS.length; i++) {
            if (oCSS[i].style.fontSize != "") {
                oCSS[i].style.fontSize = parseInt(oCSS[i].style.fontSize) + 2;
                click++;
            }
        }
    }
}

Kod oczywiście do sprawdzenia, bo nie wiem czy czegoś nie przeoczyłem smile.gif
Youkash
Dzieki, sprawdzilem mala popraweczka i jest super, click wylatuje na poczatek petli i dziala jak trzeba

Kod
click--;
       for(i=0; i < oCSS.length; i++) {
           if (oCSS[i].style.fontSize != "") {
             oCSS[i].style.fontSize = parseInt(oCSS[i].style.fontSize) - 2;
           }


Dzieki za pomoc biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.