Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: IE противится отображению подсказки на JS
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » IE противится отображению подсказки на JS

Страниц (2): [1] 2 »
 

1. p1us - 18 Мая, 2012 - 09:05:13 - перейти к сообщению
не получается подключить чужой скрипт к IE

CODE (javascript):
скопировать код в буфер обмена
  1. <script language="JavaScript">
  2. <!--
  3. // Пишем функцию, определяющую координаты
  4. function defPosition(event) {
  5.     var x = y = 0;
  6.     if (document.attachEvent != null) { // Internet Explorer & Opera
  7.         x = window.event.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
  8.         y = window.event.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
  9.     } else if (!document.attachEvent && document.addEventListener) { // Gecko
  10.         x = event.clientX + window.scrollX;
  11.         y = event.clientY + window.scrollY;
  12.     } else {
  13.         // Do nothing
  14.     }
  15.     return {x:x, y:y};
  16. }
  17. // Простая проверка
  18. // С помощью document.write выведем координаты прямо в окно браузера
  19. // Они будут обновлять при движении мыши
  20. document.onmousemove = function(event) {
  21.     var event = event || window.event;
  22. //document.getElementById('help').innerHTML = "x = " + defPosition(event).x + ", y = " + defPosition(event).y;
  23.  
  24. //Здесь координаты присваиватся положению слоя относительно окна и к координате х плюсуется 400 пикселов, чтоб курсор не был на подсказке.
  25.         document.getElementById('help').style.left = 400 + "px";
  26.         document.getElementById('help').style.top = 263 + "px";
  27. }
  28.  
  29. //Функция, которая делает видимым наш слой и вкладывает в него необходимый текст.
  30. function helpBox(text) {                                        //function helpBox(title, text) {
  31. //Вкладываем текст
  32.  
  33.             document.getElementById('helpText').innerHTML = text;
  34.  
  35. //Делаем видимым\невидимым
  36.         if(document.getElementById('help').style.display == 'none'){
  37.                 document.getElementById('help').style.display = 'block';
  38.         }else{
  39.                 document.getElementById('help').style.display = 'none';
  40.         }
  41. }
  42.  
  43. // -->
  44. </script>

у меня ссылается на
CODE (javascript):
скопировать код в буфер обмена
  1.   document.getElementById('helpText').innerHTML = text;


и пишет undefined, причем фон загружается , а контент нет. и пишет такое только в IE.

сам контент выглядит так

CODE (html):
скопировать код в буфер обмена
  1. <div id="help" class="helpBox" style="display:none; float: right; position: absolute; z-index:2 ; background-color: #F5F5F5; background-image: url('images/machinesBG.png'); background-repeat: no-repeat; background-position: 280px 130px; outline: 0px dashed black; margin-top: -255px; margin-left: -200px; width:820px; height: 420px;">
  2.                                         <p id="helpText" class="helpText">
  3.                                         </p>
  4.                                 </div>
  5.  
  6. <img src="/images/rask.png" onMouseOver="helpBox('</br><h1>Стол раскроя</h1>')" onMouseOut="helpBox()"></br>
  7. <img src="/images/rask.png" onMouseOver="helpBox('</br><h1>Стол раскроя</h1>')" onMouseOut="helpBox()"></br>
  8. <img src="/images/rask.png" onMouseOver="helpBox('</br><h1>Стол раскроя</h1>')" onMouseOut="helpBox()"></br>
  9. <img src="/images/rask.png" onMouseOver="helpBox('</br><h1>Стол раскроя</h1>')" onMouseOut="helpBox()"></br>
  10. <img src="/images/rask.png" onMouseOver="helpBox('</br><h1>Стол раскроя</h1>')" onMouseOut="helpBox()"></br>
2. Viper - 18 Мая, 2012 - 09:38:27 - перейти к сообщению
попробуйте перед функцией добавить var text = '';
3. p1us - 18 Мая, 2012 - 10:15:28 - перейти к сообщению
Viper пишет:
попробуйте перед функцией добавить var text = '';


CODE (javascript):
скопировать код в буфер обмена
  1. //Функция, которая делает видимым наш слой и вкладывает в него необходимый текст.
  2. var text = '';
  3.  
  4. function helpBox(text) {                                        //function helpBox(title, text) {
  5. //Вкладываем текст


все равно не пашет Хм
IE кстати 8
4. tuareg - 18 Мая, 2012 - 10:27:47 - перейти к сообщению
А может почитаем про тэг
<br/>????
http://htmlbook[dot]ru/html/br
P.S И в IE-8 есть отладчик (пускай корявый), но все же клавиши F12
5. p1us - 18 Мая, 2012 - 10:47:21 - перейти к сообщению
tuareg пишет:
А может почитаем про тэг
<br/>????
http://htmlbook[dot]ru/html/br
P.S И в IE-8 есть отладчик (пускай корявый), но все же клавиши F12


я убрал все </br> чтобы переноса строки не было, но ничего не поменялось. ссылается на ту же "неизвестную ошибку"
6. JustUserR - 18 Мая, 2012 - 10:53:08 - перейти к сообщению
p1us пишет:
Пишет undefined, причем фон загружается , а контент нет. и пишет такое только в IE
В качестве возможной причины осуществления возникновения предполагаемой ситуации, заключаемой в отсутствии в целевой объектной модели ассоциированного элемента, может являться осуществляться использование включения предшествующего переведения алгоритмических информационных поелй в повышенный вторичный уровень базового элементного трактования, для которого не обеспечивается синхронизация с автоматическим приведением декларируемых объектов в интерактивный режим
tuareg пишет:
И в IE-8 есть отладчик
Осуществление использование предполагаемого интегрированного средства отлпдки, предоставляемого браузерами Internet explorer старше версии 8.0, является наиболее прогрессивным средством для проведения отладки web-страниц, и позволяет осуществить сопоставление оригинальных информационных полей в первичном пониженном уровне базового элементного трактования, в соответствии с активной объектой разметко страницы
7. p1us - 18 Мая, 2012 - 10:54:28 - перейти к сообщению
не знаю какая цель была у сообщения, но, если это была помощь, то не мне
8. tuareg - 18 Мая, 2012 - 11:24:10 - перейти к сообщению
Попробуйте сначала так
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <img src="/images/rask.png" onMouseOver="helpBox('<h1>Стол раскроя</h1>')" >
  3. //Уберите onMouseOut="helpBox()"
  4.  

А в функции helpBox сделайте
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function helpBox(text) {
  3.   alert(text)
  4.             document.getElementById('helpText').innerHTML = text;
  5.  
  6.         if(document.getElementById('help').style.display == 'none'){
  7.                 document.getElementById('help').style.display = 'block';
  8.         }else{
  9.                 document.getElementById('help').style.display = 'none';
  10.         }
  11. }
  12.  

Если alert сработает. Тогда
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <img src="/images/rask.png" onMouseOver="helpBox('<h1>Стол раскроя</h1>')"
  3. onMouseOut="helpBox('')">
  4.  

Скорее всего, косяк здесь==> onMouseOut="helpBox()"
9. p1us - 21 Мая, 2012 - 08:36:15 - перейти к сообщению
все сделал как вы сказали, но у меня срабатывает alert в любом случае, а вот после этого выходит опять та же ошибка, а потом два варианта:
1 с onMouseOut="helpBox()" просто ошибка
2 без onMouseOut="helpBox()" ошибка + undefined
10. tuareg - 21 Мая, 2012 - 08:46:22 - перейти к сообщению
А какую ошибку пишет?
11. p1us - 21 Мая, 2012 - 09:01:26 - перейти к сообщению
tuareg пишет:
А какую ошибку пишет?

да все ту же что и раньше неизвестная ошибка в строке 40 13 символ.
в общем на
CODE (javascript):
скопировать код в буфер обмена
  1. document.getElementById('helpText').innerHTML = text;
ругается(неизвестная ошибка выполнения)
12. tuareg - 21 Мая, 2012 - 09:17:59 - перейти к сообщению
Тогда
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. if(text!==''){
  3.  document.getElementById('helpText').innerHTML = text;
  4. }
  5.  

Хотя это странно... Можно где-нибудь глянуть вживую?
13. p1us - 21 Мая, 2012 - 09:21:14 - перейти к сообщению
tuareg пишет:
Тогда
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. if(text!==''){
  3.  document.getElementById('helpText').innerHTML = text;
  4. }
  5.  

Хотя это странно... Можно где-нибудь глянуть вживую?

redda.ru оборудование. очень признателен за желание помочь Подмигивание
14. tuareg - 21 Мая, 2012 - 09:32:22 - перейти к сообщению
Там и в FF пишет undefined
Сначала поставьте onMouseOut="helpBox('')" И отпишитесь, я сразу посмотрю.
И еще Вот это уберите
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. //Функция, которая делает видимым наш слой и вкладывает в него необходимый текст.
  3. var text = '';
  4.  
15. p1us - 21 Мая, 2012 - 09:51:24 - перейти к сообщению
ага , сделал, посмотри плз

у меня было helpBox(), вы говорите поставить helpBox('') все правильно?

 

Powered by ExBB FM 1.0 RC1