Autor Zpráva
TheRay
Profil
Z jednej stránky som si stiahol javascripty pre výber objektu v popup okne (vloženej vrstve). Mám to vložene vo frejmu okno sa ukáže ale posunie predošlí div o velkost okna... len pokial vložím aj druhý obrázok...

Myslím že bud je chyba ked som to dal do externého súboru

alebo je chyba v javascripte poprípade vo vrstve.

Riešením by zrejme bolo pridať do vrstvy iframe ale ked tam scroolbar rovno zapíšem tak okno je stále rovnako velké teda aj mimo obrazovky.

A tu je ten script

      var i2_okna_popup_line = 0;
                var i2_okna_count_line = 1;

                function i2_okna_getsize(e){
                    var w,h;
                    if ( e.clip ) {
                        w = e.clip.width;
                        h = e.clip.height;
                    } else if( e.offsetWidth ) {
                        w = e.offsetWidth;
                        h = e.offsetHeight;
                    } else {
                        w = e.style.pixelWidth;
                        h = e.style.pixelHeight;
                    }
                    return {width:parseInt(w), height:parseInt(h)};
                }

                function i2_okna_getpos(e)
                {
                    var p,r;
                    var ret = {x:0,y:0};
                    if ( e.getBoundingClientRect ) {
                        r = e.getBoundingClientRect();
                        var sl = document.documentElement.scrollLeft || document.body.scrollLeft;
                        var st = document.documentElement.scrollTop || document.body.scrollTop;
                        ret.x = r.left+sl;
                        ret.y = r.top+st;
                    } else if( document.getBoxObjectFor ) {
                        r = document.getBoxObjectFor(e);
                        ret.x = r.x;
                        ret.y = r.y;
                    } else {
                        while(e!=null){
                            ret.x+=e.offsetLeft;
                            ret.y+=e.offsetTop;
                            if(e!=document.body&&e!=document.documentElement){
                                ret.x-=e.scrollLeft;
                                ret.y-=e.scrollTop;
                            }
                            e=e.offsetParent;
                        }
                    }
                    return ret;
                }

                function i2_okna_popupClick(id, i)
                {
                    //var frm = document.i2_okna_form;
                    var def = i2_okna_def[id][i];

                    // nastavi obrazek
                    var e = document.getElementById("i2_okna_"+id+"_img-"+i2_okna_popup_line);
                    if ( e ) {
                        e.src = def.img;
                    }

                    // nastavi label
                    var e = document.getElementById("i2_okna_"+id+"_lable-"+i2_okna_popup_line);
                    if ( e ) {
                        e.innerHTML = def.label;
                    }

                    // nastavi hidden promennou
                    var e = document.getElementById("i2_okna_"+id+"_val-"+i2_okna_popup_line);
                    if ( e ) {
                        e.value = def.id;
                    }

                    // zviditelni pocet rozmeru
                    if ( id == "okno" ) {
                        var n = def.n;
                        for (var j=1; j<=3; j++) {
                            e = document.getElementById("i2okna_n"+j+"-"+i2_okna_popup_line);
                            if ( e ) {
                                e.style.display = j<=n?"block":"none";
                            }
                        }
                    }

                    // schova popup
                    e = document.getElementById("i2okna_popup_"+id);
                    if ( e ) {
                        e.style.display = "none";
                    }
                }

                function i2_okna_popup_show(el, id)
                {
                    var e, td;
                    e = el;
                    // zjisti cilo radku a td
                    while (e.nodeName != "TR") {
                        if ( e.nodeName == "TD" ) td = e;
                        e = e.parentNode;
                    }
                    i2_okna_popup_line = e.id.match(/-(\d+)$/)[1];

                    e = document.getElementById(id);
                    if ( e ) {
                        var pos = i2_okna_getpos(td);
                        //var size = i2_okna_getsize(td);

                        e.style.left = (pos.x+2)+"px";
                        e.style.top = (pos.y+2)+"px";
                        e.style.display = "block";
                        e.scrollIntoView();
                    }
                }

                function i2_okna_popup_hide(id)
                {
                    e = document.getElementById(id);
                    if ( e ) {
                        e.style.display = "none";
                    }
                }

                function i2_okna_fixid(e, n)
                {
                    if ( e.id ) {
                        e.id = e.id.replace(/-\d+$/, "-"+n);
                    }
                    if ( e.name ) {
                        e.name = e.name.replace(/-\d+$/, "-"+n);
                    }
                    for(var i=0; i<e.childNodes.length; i++) {
                        i2_okna_fixid(e.childNodes[i], n);
                    }
                }

                function i2_okna_add()
                {
                    var l;
                    var s = document.getElementById("i2okna_seznam");
                    l = s.getElementsByTagName("tbody");
                    if ( l && l.length == 1 ) {
                        s = l[0];
                    }

                    l = s.getElementsByTagName("tr");
                    if ( l && l.length > 0 ) {
                        l = l[l.length-1];
                        var c = l.cloneNode(true);

                        i2_okna_fixid(c, ++i2_okna_count_line);

                        s.appendChild(c);
                        c.scrollIntoView();
                    }
                }

                i2_okna_def=Array();

i2_okna_def["okno"] = Array(); i2_okna_def["okno"][0]={id:"okno_1", label:"Okno - jednok°ÝdlÚ fixnÝ neotvÝravÚ", img:"okna/1.gif", n:1}; i2_okna_def["okno"][1]={id:"okno_2", label:"Okno - jednok°ÝdlÚ otevÝravý sklopnÚ", img:"okna/2.gif", n:1}; i2_okna_def["okno"][2]={id:"okno_3", label:"Okno - dvouk°ÝdlÚ - sloupek", img:"img/okna/okno/okno_3.gif", n:2}; i2_okna_def["okno"][3]={id:"okno_3_stulp", label:"Okno - dvouk°ÝdlÚ - Ütulp", img:"img/okna/okno/okno_3_stulp.gif", n:2}; i2_okna_def["okno"][4]={id:"okno_4", label:"Okno - trojk°ÝdlÚ (dvý k°Ýdla se Ütulpem, t°etÝ sloupek)", img:"img/okna/okno/okno_4.gif", n:3}; i2_okna_def["okno"][5]={id:"okno_5", label:"Okno - dvouk°ÝdlÚ s fixnÝm nadsvýtlÝkem", img:"img/okna/okno/okno_5.gif", n:3}; i2_okna_def["okno"][6]={id:"okno_6", label:"Okno - dvouk°ÝdlÚ s otevÝravý sklopnřm nadsvýtlikem", img:"img/okna/okno/okno_6.gif", n:3}; i2_okna_def["okno"][7]={id:"balkon_1", label:"Balkonove dve°e - jednok°ÝdlÚ bez p°ÝŔky", img:"img/okna/okno/balkon_1.gif", n:1}; i2_okna_def["okno"][8]={id:"balkon_1_pricka", label:"Balkonove dve°e - jednok°ÝdlÚ s p°ÝŔkou", img:"img/okna/okno/balkon_1_pricka.gif", n:1}; i2_okna_def["okno"][9]={id:"balkon_2", label:"Balkonove dve°e - dvouk°ÝdlÚ bez p°ÝŔky", img:"img/okna/okno/balkon_2.gif", n:2}; i2_okna_def["okno"][10]={id:"balkon_2_pricka", label:"Balkonove dve°e - dvouk°ÝdlÚ s p°ÝŔkou", img:"img/okna/okno/balkon_2_pricka.gif", n:2}; i2_okna_def["okno"][11]={id:"dvere_1", label:"VstupnÝ dve°e - jednok°ÝdlÚ", img:"img/okna/okno/dvere_1.gif", n:1}; i2_okna_def["okno"][12]={id:"dvere_1_sfixem", label:"VstupnÝ dve°e - jednok°ÝdlÚ s fixem", img:"img/okna/okno/dvere_1_sfixem.gif", n:1}; i2_okna_def["okno"][13]={id:"dvere_2", label:"VstupnÝ dve°e - dvouk°ÝdlÚ", img:"img/okna/okno/dvere_2.gif", n:2};
TheRay
Profil
Myslím že bud je chyba ked som to dal do externého súboru
ten var i2_okna_popup_line = 0;
je jeden externý súbor

a i2_okna_def je druhý externý súbor
peta
Profil
TheRay
Odkaz na stranku s problemem a co na ni hledat?
Co vypisuje JS konzola za chybu?

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: