DjFuntik,
не могу помочь, не понимаю что вы хотите сделать. |
Хочу примерно тоже самое что и в вашем варианте, но только у меня оно должно подгружаться из файлов js (находятся в том же каталоге что и сама страничка).
За код не пинайте, я тока учусь... <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=windows-1251"> <STYLE> IMG {border-width:0px; margin: 3px; align: center} .tool_tip { border-right: #9191a2 1px solid; padding-right: 12px; border-top: #9191a2 1px solid; padding-left: 12px; visibility: hidden; padding-bottom: 12px; font: 900 15px tahoma; border-left: #9191a2 2px solid; color: #9191f2; padding-top: 12px; border-bottom: #9191a2 2px solid; letter-spacing: 2px; position: absolute; background-color: #aafaff} </STYLE> <SCRIPT language=JavaScript> ToolTip.offsetX = - (10 + 400 + 10) ToolTip.offsetY = 17 var arrT = [], arrImg = [] function ToolTip(obj, text) { if (!obj || obj.nodeType != 1) { throw "Illigal argument exception" } var tip = document.createElement("DIV") arrT.push(tip) tip.className = "tool_tip" tip.innerHTML = "<CENTER><FONT size=+3>"+text+"</FONT><BR><IMG height=400 width=400 src='"+text+".jpg'><IMG height=400 width=400 src='"+text+".jpg'></CENTER>" tip.style.top = 10 tip.style.left = 10 document.body.appendChild(tip) obj.onmouseout = function(ev) { tip.style.visibility = "hidden" } obj.onmousemove = function(ev) { tip.style.visibility = "visible" if (window.event) { ev = window.event } if (ev.clientX+20+tip.offsetWidth+18 > document.body.clientWidth) { ToolTip.offsetX =- tip.offsetWidth - 20 } else { ToolTip.offsetX = 20 } if (ev.clientY+10+tip.offsetHeight+0 > document.body.clientHeight) { ToolTip.offsetY =- tip.offsetHeight - 10 } else { ToolTip.offsetY = 10 } tip.style.left = ev.clientX + document.body.scrollLeft + ToolTip.offsetX tip.style.top = ev.clientY + document.body.scrollTop + ToolTip.offsetY } } function RunJava(resurs) { var fso = new ActiveXObject("Scripting.FileSystemObject") var b = fso.FileExists(resurs) if (b) { eval(fso.OpenTextFile(resurs, 1, 0).ReadAll()) } } var colon = new Array() function stroka(colon) { os += "<TABLE><TR>" for (var i = 1; i < colon.length; i++) { os += "<TD><P>....<IMG tooltip='" + colon[i][1] + "' src='" + colon[i][1]+ ((colon[i][0]=="+")?"":"-") + ".jpg'>...</TD>" var img = document.createElement("img") arrImg.push(img) img.src = colon[i][1]+".jpg" ts.appendChild(img) ToolTip(img, colon[i][1]) } os+="</TR></TABLE>" } function proc(js) { for (var i = 0; i < arrT.length; i++) { arrT[i].parentNode.removeChild(arrT[i]) arrImg[i].parentNode.removeChild(arrImg[i]) } arrT = [], arrImg = [] os = "" p = location.href p = p.replace("file:///","") p = p.replace(/%20/g," ") p = p.replace(/\//g,"\\") t = p.split('\\') RunJava(p.substring(0,p.length - t[t.length - 1].length) + "resurs" + js + ".js") ts.innerHTML = os } </script> </head> <body> <script> var pp = new Array() pp = ["62","96","01"] for (var i = 0; i < pp.length; i++) document.write("<img src='screens"+(i+1)+".jpg' onclick=proc('"+pp[i]+"')>") </script> <div id='ts'></div><script>proc('62')</script> </body> </html> resurs01.js stroka ([["66","#"],["+","А1"],["+","Б1"],["-","В8"],["-","Г4"],["+","Д5"]]) stroka ([["67","#"],["+","А2"],["-","Б3"],["+","В7"],["+","Г9"],["-","Д1"]]) stroka ([["68","#"],["+","А3"],["+","Б5"],["-","В1"],["+","Г2"],["+","Д8"]]) resurs62.js stroka ([["68","#"],["+","А3"],["+","Б5"],["-","В1"],["+","Г2"],["+","Д8"]]) stroka ([["67","#"],["+","А2"],["-","Б3"],["+","В7"],["+","Г9"],["-","Д1"]]) stroka ([["66","#"],["+","А1"],["+","Б1"],["-","В8"],["-","Г4"],["+","Д5"]]) resurs96.js stroka ([["66","#"],["+","А1"],["+","Б1"],["-","В8"],["-","Г4"],["+","Д5"]]) stroka ([["68","#"],["+","А3"],["+","Б5"],["-","В1"],["+","Г2"],["+","Д8"]]) stroka ([["67","#"],["+","А2"],["-","Б3"],["+","В7"],["+","Г9"],["-","Д1"]]) |
DjFuntik,
не осилить мне ваш код. |
Меня интересуют строки 52-56 и 63-68. Строки 63-67 я так полагаю на своём месте, строка 68 не знаю там ли должна остаться? Строки 52-56 это ваш код, просто не знаю как его подвязать к "IMG tooltip"
|
Ну или если так не получается понять мой замысел, то тогда подскажите, пожалуйста, как из страницы удалить все "<DIV class='tool_tip'>" вместе с содержимым?
|
Цитата:
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> </head> <body> <div class="tool_tip">1</div> <div class="tool_tip">2</div> <div class="tool_tip">3</div> <div class="test">4</div> <div class="test">5</div> <div class="tool_tip">6</div> <div class="tool_tip">7</div> <div class="tool_tip">8</div> <script> var div = document.getElementsByTagName('div'), l = div.length, d; for (; d = div[--l];) { if(d.className == 'tool_tip') d.parentNode.removeChild(d)} </script> </body> </html> |
Вот теперь просто наиогромнейшее СПАСИБО!
В отладчике на странице только те объекты, которые присутствуют в текущий момент, остальной исторически накопленный мусор удалён!!! P.S. уж в дагонку может и вторую (последнюю в моём детище) проблемку поможете решить? Есть DIV надо его отобразить, загрузить данные, и после окончания загрузки скрыть - ну обычный значёк "LOADING" <BODY> <DIV id='waitDiv' style='z-index:1; left: 47%; visibility: visible; position: absolute; top: 50%; text-align: center; background-color=yellow; border-style=groove'><FONT color=red><B><BIG>Идёт загрузка...</BIG></B><BR><IMG src='loading.gif'><BR>Пожалуйста, подождите.</FONT></DIV> <SCRIPT> document.all["waitDiv"].style.visibility = 'visible' // или document.getElementById('waitDiv').style.display='block' RunJava("resurs.js") // может грузиться и отрабатывать аж до 8-10 секунд document.all["waitDiv"].style.visibility = 'hidden' // или document.getElementById('waitDiv').style.display='none' </SCRIPT> </BODY> Проблема в том что значёк не отображается. Если после RunJava поставить alert() или поставить кривой код для заглючивания, то за сообщением будет видно что значёк отображается, если же сбоев и остановок не было, то значёк даже на миллисекунду не отображается. По моей логике не вижу в чём проблема "не отображения". Обыскал кучу интернета, вариантов подходящих для IE без дополнительных библиотек и при том что рабочих не нашёл! Может и тут направите? |
DjFuntik,
может обернуть в window.onload = function() { // ваш код } чтоб картинка успела загрузится |
На сколько я представляю onload к странице будет относиться, а она уже будет загружена, и в ней будет меняться содержимое "DIV ts", т.е. onload не будет срабатывать... или я не прав?
<HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=windows-1251"> <SCRIPT language=JavaScript> function RunJava(resurs) { var fso = new ActiveXObject("Scripting.FileSystemObject") var b = fso.FileExists(resurs) if (b) { eval(fso.OpenTextFile(resurs, 1, 0).ReadAll()) } } var colon = new Array() function stroka(colon) { os += "<TABLE><TR>" for (var i = 1; i < colon.length; i++) os += "<TD><P>....<IMG src='" + colon[i][1]+ ((colon[i][0]=="+")?"":"-") + ".jpg'>...</TD>" os+="</TR></TABLE>" } function proc(js) { document.all["waitDiv"].style.visibility = 'visible' // или document.getElementById('waitDiv').style.display='block' os = "" // может грузиться и отрабатывать аж до 8-10 секунд, в загружаемом файле вызов процедуры stroka ([["66","#"],["+","А1"],["+","Б1"],["-","В8"],["-","Г4"],["+","Д5"]]) которая наращивает переменную 'os' RunJava("resurs" + js + ".js") document.all["waitDiv"].style.visibility = 'hidden' // или document.getElementById('waitDiv').style.display='none' ts.innerHTML = os } </script> </head> <body> <img src='screens1.jpg' onclick=proc('62')> <img src='screens2.jpg' onclick=proc('96')> <img src='screens3.jpg' onclick=proc('01')> <DIV id='waitDiv' style='z-index:1; left: 47%; visibility: visible; position: absolute; top: 50%; text-align: center; background-color=yellow; border-style=groove'><FONT color=red><B><BIG>Идёт загрузка...</BIG></B><BR><IMG src='loading.gif'><BR>Пожалуйста, подождите.</FONT></DIV> <div id='ts'></div><script>proc('62')</script> </body> </html> Мне нужно чтоб LOADING появлялся не при загрузке страницы, а при вызове proc() и после её отработки он исчезал |
DjFuntik,
не знаю как работает ваша RunJava, может эта функция блокирует браузер на всё время загрузки и показывать что либо бесполезно. |
Часовой пояс GMT +3, время: 16:29. |