Здравствуйте всем. Помогите новичку, собрал свой скрипт, и он стабильно работает в PSPad editor, зато в IE - при первом открытии в браузере срабатывает, но уже при повторном открытии этого же файла в этом же браузере - нет. Через несколько попыток открыть/закрыть - снова работает. Но так же не может быть: скрипт или работает или нет, без форума мне не разобраться...
Действие: загружаются картинки, при клике мышкой на малой картинке проявляется большая картинка. Вот сам скрипт:
var m = '';
m += '<div style="position : absolute; bottom : 0;">';
m += '<img src="search_tab_3h.gif" id="1" onclick = "doSomething(this, 258, 286)" style="height : 68px;"> ';
m += '<img src="search_tab_3h.gif" id="2" onclick = "doSomething(this, 640, 423)" style="height : 68px;"> ';
m += '<img src="search_tab_3h.gif" id="4" onclick = "doSomething(this, 3750, 1200)" style="height : 68px;"> ';
m += '<\/div><div style="position : absolute; bottom : 90;">';
m += '<img src="bmp.bmp" name = "imgg" id="1a" onclick="doSomething(this)" style="width : 0; height : 0;">';
m += '<img src="17183565f.jpg" name = "imgg" id="2a" onclick="doSomething(this)" style="width : 0; height : 0;">';
m += '<img src="zakat.jpg" name = "imgg" id="4a" onclick="doSomething(this)" style="width : 0; height : 0;">';
m += '<\/div>';
if (document.getElementById) { document.write(m); } var ws; var hs; var nw; var mi = 10;
if (typeof (window.innerWidth) === 'number') {ws = window.innerWidth; hs = window.innerHeight; } else if (document.documentElement &&(document.documentElement.clientWidth||document.documentElement.clientHeight)) { ws = document.documentElement.clientWidth; hs=document.documentElement.clientHeight; } else if (document.body&&(document.body.clientWidth||document.body.clientHeight)) { ws = document.body.clientWidth; hs=document.body.clientHeight; }
function doSomething(e, w, h) {
if (w & h){
if (document.getElementById(e.id+'a').style.width === '0px' || document.getElementById(e.id+'a').style.width === 0) {
for ( i = 0; i < document.getElementsByName("imgg").length; i++ ) {
document.getElementsByName("imgg").item(i).style.width = 0;
document.getElementsByName("imgg").item(i).style.height = 0;
}
di = e.id + 'a';
if((ws-mi*2)/(hs-mi*10) < w/h) { nw = ws-mi*2;
document.getElementById(di).style.width = nw;
document.getElementById(di).style.height = Math.round(h*(ws - mi * 2) / w);
}else{ nw = Math.round(w * (hs - (mi * 10)) / h);
if(document.getElementById(di)){
var ysa = document.getElementById(di);
if (ysa){
ysa.style.height = (hs - mi * 10) ? (hs - mi * 10) : 0;
ysa.style.width = nw ? nw : 0;
}
}
}
document.getElementById(di).style.visibility = "visible";
document.getElementById(di).style.marginLeft = Math.round((ws - nw)/2)-mi ? Math.round((ws - nw)/2)-mi : 0;
}else{
document.getElementById(e.id+'a').style.width = 0; document.getElementById(e.id+'a').style.height = 0; }
}else{
for ( i=0; i<document.getElementsByName("imgg").length;i++ ) {document.getElementsByName("imgg").item(i).style.width=0; document.getElementsByName("imgg").item(i).style.height = 0; }}
}