Помогите с браузером IE !!! Пожалуйста!!!
Здравствуйте!
Уже сил нет,по могите с реализацией скрипта в IE, во всех остальных (Opera,Firefox,Safari,Chrome) работает отлично Суть такова: Есть известный скрипт всплывающих подсказок jquery.tooltip.js с его помощью реализуется подсказка для ссылок не имеющих подсказки title Подсказку для ссылки делаю следующим образом: <div id="tooltiper"> <div id="div"> <a href="#" class="Class1">Ссылка</a> </div> </div> и скриптами: var ints = 1; function Ссылка () { document.getElementById('Ссылка').innerHTML = 'Текст подсказки'; }; function A(){ time_Interval = setInterval("Ссылка ()",1); }; A(); и e=document.getElementById('div').getElementsByTagName('a'); for(k=0; k<e.length;k++) { e[k].title = '<div id="'+e[k].innerHTML+'"></div>'; } В браузере IE вся эта "беда" срабатывает лишь только когда страница начинает грузиться и перестает работать когда страница загружена или курсор переведен на другую ссылку (Не видит самого содержимого подсказки) Сообщение: 'document.getElementById(...)' - есть null или не является объектом P.S. Ссылок много и подскзку нужно вводить только таким образом. e[k].title нельзя присваивать постоянное значение,т.е. первый скрипт используется обязательно |
Цитата:
Цитата:
|
А кто подскажет как нужно
|
Цитата:
Подскажите пожалуйста...я новичек в этом деле...вернее начинающий... |
serly, ale19 не нужно дублировать аккаунт
Цитата:
|
А как это всё сделать без setInterval()
var ints = 1; function BB () { document.getElementById('BB').innerHTML = ' Этот Текст'; }; function A(){ time_Interval = setInterval("BB ()",1); }; A(); чтобы в итоге в <div id="BB">...</div> стоял "Этот Текст" |
Цитата:
window.onload = function() { document.getElementById('BB').innerHTML = ' Этот Текст'; }; |
Спасибо,но мне это не помогло,вот прикрепил файл с полным html кодом,если Вас не затруднит просмотрите его в браузере,так Вы поймете чего я добиваюсь, и если возможно помогите реализовать всё это в IE.В других браузерах работает ...ну Вы сами убедитесь если просмотрите
Вложение 758 |
Да,и если нет такой возможности ,реализовать в IE,то пожалуйста напишите об этом...
|
ale19,
Вложение отсутствует ... и попробуйте доступнее описать вашу проблему ... |
Вложений: 1
Вот еще раз
Вложение 764 |
Цитата:
Цитата:
Рабочий вариант исправленный для Mozilla Firefox в том числе и без setInterval ... добавление подсказок при отсутствии title <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Документ Без Имени</title> <script type="text/javascript"> //Hint Start // CLASS : MW_System_Load // Init function MW_System_Load(){ this.wib = screen.width; this.heb = screen.height; this.documes = (document.getElementById || document.createElement || document.getElementsByTagName) ? true : false; this.objects = window.addEventListener || window.attachEvent ? window : document.addEventListener ? document : null; this.types = 'load'; } MW_System_Load.prototype.addsevent = function(func){ if(this.objects.addEventListener){ this.objects.addEventListener(this.types,func,false); return true; } else if (this.objects.attachEvent){ this.objects.attachEvent("on" + this.types,func); } else { return false; } } MW_System_Load.prototype.browser = function(){ this.ver = navigator.appVersion; this.agent = navigator.userAgent.toLowerCase(); this.dom = document.getElementById ? 1:0; this.all = document.all ? 1:0; this.ie5 = (this.ver.indexOf("MSIE 5")>-1 && this.dom) ? 1:0; this.ie6 = (this.ver.indexOf("MSIE 6")>-1 && this.dom) ? 1:0; this.ie4 = (document.all && !this.dom) ? 1:0; this.ie = this.ie4 || this.ie5 || this.ie6; this.opera = this.agent.indexOf("opera")>-1; this.gecko = (this.agent.indexOf("gecko")!=-1) ? 1:0; this.bw = (this.ie || this.opera || this.gecko); return this; } MW_System_Load.prototype.findobj = function(obj){ this.parent = window.document; if(this.parent[obj]){ return this.parent[obj]; } if(this.parent.all && this.parent.all[obj]){ return this.parent.all[obj]; } if(this.parent.layers && this.parent.layers[obj]){ return this.parent.layers[obj]; } if(this.parent.getElementById && this.parent.getElementById(obj)){ return this.parent.getElementById(obj); } return null; } var MW = new MW_System_Load(); function MW_System_Hint(){} MW_System_Hint.prototype.show = function(obj,str){ var hint = MW.findobj('hint'); if(!obj){ return; } if(!MW.documes){ return; } if(!hint){ return; } hint.className = 'hint'; hint.style.left = 15; hint.style.top = 50; obj.onmouseout = function(advance){ hint.style.width = ''; hint.style.visibility = 'hidden'; if(hint.firstChild) hint.removeChild(hint.firstChild); hint.appendChild(document.createTextNode(str)); }; obj.onmousemove = function(advance){ //str = str.replace(/</g,"<"); //str = str.replace(/>/g,">"); hint.style.width = ''; hint.innerHTML = str; vc = document.getElementsByTagName((document.compatMode && document.compatMode=="CSS1Compat") ? "HTML":"BODY")[0]; x = window.event ? event.clientX + vc.scrollLeft : advance.pageX; y = window.event ? event.clientY + vc.scrollTop : advance.pageY; vcwidth = vc.clientWidth ? vc.clientWidth + vc.scrollLeft : window.innerWidth + window.pageXOffset; vcheight = vc.innerHeight ? window.innerHeight + window.pageYOffset : vc.clientHeight + vc.scrollTop; if(hint.offsetWidth>500){ hint.style.width = '200'; } if((x + hint.offsetWidth + 15) > vcwidth){ hint.style.left = x - hint.offsetWidth - 4+"px"; } else { hint.style.left = x + 15+"px"; } if((y + hint.offsetHeight + 19) > vcheight){ hint.style.top = y - hint.offsetHeight+"px"; } else { hint.style.top = y + 25+"px"; } //if(typeof(hint.style.MozOpacity)!="undefined"){ hint.style.opacity = '0.91'; hint.style.filter = "alpha(opacity:91)"; //} hint.style.visibility = 'visible'; }; } MW_System_Hint.prototype.initialize = function(){ var hint = document.createElement("DIV"); hint.setAttribute('id','hint'); document.getElementsByTagName('body')[0].appendChild(hint); hint.style.visibility = 'hidden'; var hintmarker = ['a','img','img','input','span','div','textarea']; var textmarker = ['title','alt','title','title','title','title','title']; var lenmarker = hintmarker.length; for(var i=0; i<lenmarker; i++) { atr = document.getElementsByTagName(hintmarker[i]); for(var j=0; j<atr.length; j++) if(viewhint=atr[j].getAttribute(textmarker[i])){ atr[j].removeAttribute(textmarker[i]); HINT.show(atr[j],viewhint); } } } var HINT = new MW_System_Hint(); if(MW.objects){ MW.addsevent(HINT.initialize); } //Hint End </script> <style type="text/css"> .hint { background-color: #33FFCC; line-height: 10px; color: #000; font-family: Comic Sans MS; font-size: 12px; width: auto; border-top: 1px solid #4F4F4F; border-right: 1px solid #4F4F4F; border-bottom: 1px solid #4F4F4F; border-left: 1px solid #4F4F4F; margin: 1px; padding: 15px 15px 15px 15px; position: absolute; visibility: hidden; -moz-border-radius: 4px; border-radius: 4px; filter:progid:DXImageTransform.Microsoft.Alpha(opacity=75) !important; -moz-opacity:0.75 !important; opacity: 0.75 !important; filter:alpha(opacity=75) !important;} </style> </head> <body> <br /> <div id="fff"> <a href="#" class="groupAdmin">BBB</a> <br /><br /> <a href="#" class="groupAdmin">AAA</a> <br /><br /> <a href="#" class="groupAdmin">CCC</a> </div> <br /> <script type="text/javascript"> var t = {'AAA':'<b><span style="color: #000000; font-size: 8pt;">Подсказка 2</span></b>', 'BBB':'<b><span style="color: #000000; font-size: 8pt;">Подсказка 1</span></b>'}, e=document.getElementById('fff').getElementsByTagName('a'); for(var k=0; k<e.length;k++) { e[k].title = '<div>'+(t[e[k].innerHTML]||'нет подсказок')+'</div>'; } </script> </body> </html> На всякий случай ссылка на примеры jQuery Tooltip Plugin |
Цитата:
Цитата:
т.к. эти все вещи var ints = 10; function AAA () { document.getElementById('AAA').innerHTML = '<b><span style="color: #000000; font-size: 8pt;">Подсказка 2</span></b>'; }; function A(){ time_Interval = setInterval("AAA ()",1); }; A(); будут браться из скрипта инфотмера,и так var t = {'AAA':'<b><span style="color: #000000; font-size: 8pt;">Подсказка 2</span></b>', 'BBB':'<b><span style="color: #000000; font-size: 8pt;">Подсказка 1</span></b>'}, e=document.getElementById('fff').getElementsByTagName('a'); for(var k=0; k<e.length;k++) { e[k].title = '<div>'+(t[e[k].innerHTML]||'нет подсказок')+'</div>'; } это всё не будет работать (я уже так делал) Все значения подсказки для ссылки AAA (как и ВВВ и т.д.)будут брться из информера...Ссылок много Но в любом случае спасибо Вам!!! |
ale19,
В jQuery Tooltip Plugin есть параметр bodyHandler который меняет значение подсказки согласно функции в него заложенной ... так заложите в этой функции опрос вашего таинственного информера на предмет подсказки и научитесь формулировать проблему ... либо показывать неработающий код. |
спасибо попробую...
|
Часовой пояс GMT +3, время: 03:19. |