Javascript v IE

Programovacie jazyky, rady, poradňa...
Boroboro
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 57
Registrovaný: 01 máj 2006, 21:48

Javascript v IE

Príspevok od používateľa Boroboro »

Kód: Vybrať všetko

function imageSize(mode,cas,obr,imgSize) {
    growImg = document.getElementById(obr).style;
    growImg.width=window['img_width'+obr];// chybu hlasi tu
Toto je zaciatok funkcie ktoru pouzivam na dynamicke menenie velkosti obrazka ale v IE je s tym problem. V nastroji pre vyvojarov mi pise ze chyba je na poslednom riadku ukazky kodu ktory som tu dal v ostatnych prehliadacoch to pekne ide. Vie mi niekto poradit?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Javascript v IE

Príspevok od používateľa audiotrack »

window nie je v IE podporované. Radšej ale napíš čo chceš spraviť, a(alebo) daj celý kod, lebo viac ti nikto neporadí. Budeš to musieť napísať nejako inak, nepoužívať objekt window ak požaduješ maximálnu kompatibilitu
Boroboro
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 57
Registrovaný: 01 máj 2006, 21:48

Re: Javascript v IE

Príspevok od používateľa Boroboro »

Tu je javascript ktory pouzivam

Kód: Vybrať všetko

<script language="JavaScript">
//dynamic image resizing

timer = null;
img_widthimageResize = 352; //image starting width and height goes here
img_heightimageResize = 277;
img_widthimageResize2 = 313; //image starting width and height goes here
img_heightimageResize2 = 246;
img_widthimageResize3 = 313; //image starting width and height goes here
img_heightimageResize3 = 246;
function imageSize(mode,cas,obr,imgSize) {

    //document.getElementById("demo").innerHTML=window['img_width'+obr];
    growImg = document.getElementById(obr).style

    growImg.width=window['img_width'+obr];
    growImg.height= window['img_height'+obr];
    if(mode == 1)
    {
      if(sessionStorage['grow'+obr] == 1 && cas == 0)
      {
        return;
      }
      if(cas == 0)
      {
        sessionStorage['grow'+obr] = 1;
        sessionStorage['shrink'+obr] = 0;
        
      }
    }
    else
    {
      if(sessionStorage['shrink'+obr] == 1 && cas == 0)
      {
        return;
      }
      if(cas == 0)
      {
        sessionStorage['shrink'+obr] = 1;
        sessionStorage['grow'+obr] = 0;
      }
    }
    cas++; 
    if((window['img_width'+obr] != imgSize) &&  (mode == 1) && (sessionStorage['grow'+obr] == 1)) {  
        window['img_width'+obr] += 1*mode;
        window['img_height'+obr] += 1*mode;           
        timer = setTimeout('imageSize('+mode+','+cas+',\''+obr+'\','+imgSize+')', 10);
    } 
    else if((window['img_width'+obr] != imgSize) &&  (mode == -1) && ((sessionStorage['shrink'+obr] == 1) )) {  
        window['img_width'+obr] += 1*mode;
        window['img_height'+obr] += 1*mode;           
        timer = setTimeout('imageSize('+mode+','+cas+',\''+obr+'\','+imgSize+')', 10);
    }
    
    else {

        
        if(mode==1)
        {
          //sessionStorage.shrink = 1;
          sessionStorage['grow'+obr] = 0;
        }
        else if(sessionStorage['shrink'+obr] == 0)
        {
          timer = setTimeout('imageSize('+mode+','+cas+',\''+obr+'\','+imgSize+')', 1);  
        }
        clearTimeout('timer');
    }
}
</script>
Tu je kod obrazka ktory sa ma po prejdeni mysou zvecsit z 352px na 392px a ked s mysou odidem ma sa zmensit na povodnu velkost. Funguje to vsade okrem IE. Vie to niekto upravit aby to islo aj pod IE?

Kód: Vybrať všetko

<img src="nove.png" alt="" width="352" height="277" id="imageResize" onmouseover="imageSize(1,0,'imageResize',392);" onmouseout="imageSize(-1,0,'imageResize',352);" />
xadman
Medium Star
Medium Star
Príspevky: 305
Registrovaný: 09 mar 2011, 17:02

Re: Javascript v IE

Príspevok od používateľa xadman »

použi jquery mouseover a mouseout

Kód: Vybrať všetko

$(".element").bind("mouseover", funkcia_ked_prejde);
$(".element").bind("mouseout", funkcia_ked_odide);
//autoeditácia príspevku (11 Okt 2012, 18:46)
alebo bez jquery takto

Kód: Vybrať všetko

<img src="nove.png" alt="" width="352" height="277" id="imageResize" onmouseover="this.width=xxx; this.height=xxx;" onmouseout="this.width=xxx; this.height=xxx" />
Boroboro
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 57
Registrovaný: 01 máj 2006, 21:48

Re: Javascript v IE

Príspevok od používateľa Boroboro »

Zistil som zaujimavu skutocnost .... po uploade stranky na hosting script funguje aj v exploreri ... velmi zaujimave avsak nefungovalo mi opacity v css v exploreri tak som skusil pridat

Kód: Vybrať všetko

<!DOCTYPE html>
opacity zacalo fungovat ale script uz nefunguje v ziadnom prehliadaci a javascript nehlasi ziadnu chybu

//autoeditácia príspevku (11 Okt 2012, 21:02)
Problem je tu

Kód: Vybrať všetko

growImg = document.getElementById(obr).style;
ked pridam doctype tak ako keby nenacitalo styly daneho obrazka ... stretol sa stym uz niekto?

//autoeditácia príspevku (11 Okt 2012, 22:44)
Uz to vsetko funguje ako ma v kazdom prehliadaci :). Keby niekto chcel vediet problem bol tu.

Kód: Vybrať všetko

growImg.width=window['img_width'+obr]+'px';
    growImg.height= window['img_height'+obr]+'px';
Napísať odpoveď