DrozdOff 0 Опубликовано: 12 марта 2008 Рассказать Опубликовано: 12 марта 2008 Здравствуйте. Установил хак, который перерабатывает атрибут title и выводит так называемую "ысплывающую" подсказку. Помогите пожалуйста, столкнулся с такой проблемой, что при наводе мышью на изображение, отрибут "title" срабатывает правильно (выводит подсказку) только в IE, а в FireFox все подсказки выводятся в левом нижнем углу шаблона. Чтобы это могло значить? Цитата Ссылка на сообщение Поделиться на других сайтах
Zergio 0 Опубликовано: 13 марта 2008 Рассказать Опубликовано: 13 марта 2008 Это значит что у вас кривой код или неправильно прикрутили. Цитата Ссылка на сообщение Поделиться на других сайтах
DrozdOff 0 Опубликовано: 13 марта 2008 Рассказать Опубликовано: 13 марта 2008 Автор Вроде прикрутил правильно, на других сайтах видел его же - в FireFox летает... В IE всё ок. Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 13 марта 2008 Рассказать Опубликовано: 13 марта 2008 покажи css этой подсказки если он есть, если нет - дай код JS Цитата Ссылка на сообщение Поделиться на других сайтах
DrozdOff 0 Опубликовано: 14 марта 2008 Рассказать Опубликовано: 14 марта 2008 Автор Это стили. <style>.hint { background-color:#897B67; line-height:10px; color:white; font-family:verdana; font-size:11px; width:auto; border-top:1px solid white; border-right:1px solid white; border-bottom:1px solid white; border-left:5px solid black; margin:0px; padding:8px; position:absolute; visibility:hidden; }</style> Это скрипт. 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; } else { hint.style.left = x + 15; } if((y + hint.offsetHeight + 19) > vcheight){ hint.style.top = y - hint.offsetHeight; } else { hint.style.top = y + 25; } //if(typeof(hint.style.MozOpacity)!="undefined"){ hint.style.opacity = '.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']; var textmarker = ['title','alt']; var lenmarker = hintmarker.length; for(var i=0; i<lenmarker; i++) { atr = document.getElementsByTagName(hintmarker); for(var j=0; j<atr.length; j++) if(viewhint=atr[j].getAttribute(textmarker)){ atr[j].removeAttribute(textmarker); HINT.show(atr[j],viewhint); } } } var HINT = new MW_System_Hint(); if(MW.objects){ MW.addsevent(HINT.initialize); } Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 14 марта 2008 Рассказать Опубликовано: 14 марта 2008 а ссылка как выглядит? у себя попробую Цитата Ссылка на сообщение Поделиться на других сайтах
DrozdOff 0 Опубликовано: 15 марта 2008 Рассказать Опубликовано: 15 марта 2008 Автор Смотрите тут. Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 15 марта 2008 Рассказать Опубликовано: 15 марта 2008 я на 4dle не пойду) Цитата Ссылка на сообщение Поделиться на других сайтах
DrozdOff 0 Опубликовано: 18 марта 2008 Рассказать Опубликовано: 18 марта 2008 Автор вверх) Цитата Ссылка на сообщение Поделиться на других сайтах
Greeze 0 Опубликовано: 18 марта 2008 Рассказать Опубликовано: 18 марта 2008 я на 4dle не пойду) почему? в моем шаблоне m3-reborn есть нормальный скрипт хинта, работающий (вроде как) во всех браузерах, используйте его.. Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 18 марта 2008 Рассказать Опубликовано: 18 марта 2008 почему?ну че мне теперь по всем ссылкам ходить?) Здесь пусть и выкладывает код Цитата Ссылка на сообщение Поделиться на других сайтах
Greeze 0 Опубликовано: 18 марта 2008 Рассказать Опубликовано: 18 марта 2008 Смотрите тут. это ссылка на 1 страницу с кодом. Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 18 марта 2008 Рассказать Опубликовано: 18 марта 2008 это ссылка на сайт, который я открывать не хочу. Собственно мне итак хорошо, не я прошу помощи Цитата Ссылка на сообщение Поделиться на других сайтах
DrozdOff 0 Опубликовано: 19 марта 2008 Рассказать Опубликовано: 19 марта 2008 Автор в моем шаблоне m3-reborn есть нормальный скрипт хинта, работающий (вроде как) во всех браузерах, используйте его.. Можете выложить скрипт хинта? m3-reborn платный... мне в лс. Заранее спасибо. Цитата Ссылка на сообщение Поделиться на других сайтах
Greeze 0 Опубликовано: 19 марта 2008 Рассказать Опубликовано: 19 марта 2008 создаем файл ghint.js window.onerror=null;tooltip={attr_name:"tooltip",blank_text:"(откроется в новом окне)",newline_entity:" ",max_width:0,delay:30,t:document.createElement("DIV"),c:null,g:false,m:function(e){if(tooltip.g){oCanvas=document.getElementsByTagName((document.compatMode&&document.compatMode=="CSS1Compat")?"HTML":"BODY")[0];x=window.event?event.clientX+oCanvas.scrollLeft:e.pageX;y=window.event?event.clientY+oCanvas.scrollTop:e.pageY;tooltip.a(x,y);}},d:function(){tooltip.t.setAttribute("id","tooltip");document.body.appendChild(tooltip.t);a=document.all?document.all:document.getElementsByTagName("*");aLength=a.length;for(var i=0;i<aLength;i++){if(!a[i]||!a[i].getAttribute)continue;tooltip_title=a[i].getAttribute("title");if(tooltip_title&&typeof tooltip_title!="string")tooltip_title="";tooltip_alt=a[i].getAttribute("alt");tooltip_blank=a[i].getAttribute("target")&&a[i].getAttribute("target")=="_blank"&&tooltip.blank_text;if(tooltip_title||tooltip_blank){a[i].setAttribute(tooltip.attr_name,tooltip_blank?(tooltip_title?tooltip_title+" "+tooltip.blank_text:tooltip.blank_text):tooltip_title);if(a[i].getAttribute(tooltip.attr_name)){a[i].removeAttribute("title");if(tooltip_alt&&a[i].complete)a[i].removeAttribute("alt");tooltip.l(a[i],"mouseover",tooltip.s);tooltip.l(a[i],"mouseout",tooltip.h);}}else if(tooltip_alt&&a[i].complete){a[i].setAttribute(tooltip.attr_name,tooltip_alt);if(a[i].getAttribute(tooltip.attr_name)){a[i].removeAttribute("alt");tooltip.l(a[i],"mouseover",tooltip.s);tooltip.l(a[i],"mouseout",tooltip.h);}} if(!a[i].getAttribute(tooltip.attr_name)&&tooltip_blank){}} document.onmousemove=tooltip.m;window.onscroll=tooltip.h;tooltip.a(-99,-99);},s:function(e){d=window.event?window.event.srcElement:e.target;if(!d.getAttribute(tooltip.attr_name))return;s=d.getAttribute(tooltip.attr_name);if(tooltip.newline_entity){s=s.replace(/\&/g,"&");s=s.replace(/\</g,"<");s=s.replace(/\>/g,">");s=s.replace(eval("/"+tooltip.newline_entity+"/g"),"<br />");tooltip.t.innerHTML=s;}else{if(tooltip.t.firstChild)tooltip.t.removeChild(tooltip.t.firstChild);tooltip.t.appendChild(document.createTextNode(s));} tooltip.c=setTimeout("tooltip.t.style.visibility = 'visible';",tooltip.delay);tooltip.g=true;},h:function(e){tooltip.t.style.visibility="hidden";if(!tooltip.newline_entity&&tooltip.t.firstChild)tooltip.t.removeChild(tooltip.t.firstChild);clearTimeout(tooltip.c);tooltip.g=false;tooltip.a(-99,-99);},l:function(o,e,a){if(o.addEventListener)o.addEventListener(e,a,false);else if(o.attachEvent)o.attachEvent("on"+e,a);else return null;},a:function(x,y){oCanvas=document.getElementsByTagName((document.compatMode&&document.compatMode=="CSS1Compat")?"HTML":"BODY")[0];w_width=oCanvas.clientWidth?oCanvas.clientWidth+oCanvas.scrollLeft:window.innerWidth+window.pageXOffset;w_height=window.innerHeight?window.innerHeight+window.pageYOffset:oCanvas.clientHeight+oCanvas.scrollTop;tooltip.t.style.width=((tooltip.max_width)&&(tooltip.t.offsetWidth>tooltip.max_width))?tooltip.max_width+"px":"auto";t_width=tooltip.t.offsetWidth;t_height=tooltip.t.offsetHeight;tooltip.t.sty le.left=x+8+"px";tooltip.t.style.top=y+8+"px";if(x+t_width>w_width)tooltip.t.style.left=w_width-t_width+"px";if(y+t_height>w_height)tooltip.t.style.top=w_height-t_height+"px";}} var root=window.addEventListener||window.attachEvent?window:document.addEventListener?document:null;if(root){if(root.addEventListener)root.addEventListener("load",tooltip.d,false);else if(root.attachEvent)root.attachEvent("onload",tooltip.d);} добавляем в css #tooltip{background:#fff; border-left:1px solid #189bdd; border-right:1px solid #189bdd; border-bottom:1px solid #189bdd; border-top:3px solid #faae23; font:11px tahoma; color:#1e698e; padding:5px 7px; position:absolute; visibility:hidden;} подключаем js, перед </head> вставляем <script type="text/javascript" src="{THEME}/путь до файла/ghint.js"></script> проверяем на работоспособность. Цитата Ссылка на сообщение Поделиться на других сайтах
DrozdOff 0 Опубликовано: 19 марта 2008 Рассказать Опубликовано: 19 марта 2008 Автор аналогичная ситуация. не помогло. но всё равно спасибо. Цитата Ссылка на сообщение Поделиться на других сайтах
Greeze 0 Опубликовано: 19 марта 2008 Рассказать Опубликовано: 19 марта 2008 Вроде прикрутил правильно, на других сайтах видел его же - в FireFox летает... В IE всё ок. аналогичная ситуация. не помогло. но всё равно спасибо. да ну? проверил в фоксе 2 и 3, в обоих работает. Цитата Ссылка на сообщение Поделиться на других сайтах
DrozdOff 0 Опубликовано: 19 марта 2008 Рассказать Опубликовано: 19 марта 2008 Автор FireFox 2.0.1.1 у меня внизу выводится... скрин выслать? Цитата Ссылка на сообщение Поделиться на других сайтах
Greeze 0 Опубликовано: 19 марта 2008 Рассказать Опубликовано: 19 марта 2008 у меня 2.0.0.12.. сходи к доктору, проверь руки.. шутка конечно, но доля правды есть. Криво ты прикрутил скрипт к шаблону. Цитата Ссылка на сообщение Поделиться на других сайтах
DrozdOff 0 Опубликовано: 19 марта 2008 Рассказать Опубликовано: 19 марта 2008 Автор хе. в чём кривизна? + у тебя всё ок, у меня нет... юзаем один бразуер (почти что)... Цитата Ссылка на сообщение Поделиться на других сайтах
Greeze 0 Опубликовано: 19 марта 2008 Рассказать Опубликовано: 19 марта 2008 (изменено) del Изменено 19 марта 2008 пользователем ·• Greeze •· Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.