Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 11.06.2012, 18:48
Интересующийся
Отправить личное сообщение для jorik Посмотреть профиль Найти все сообщения от jorik
 
Регистрация: 04.06.2012
Сообщений: 24

спасибо и на том. Вопрос решил. Может кому нужно будет
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}
function prepareInputsForHints() {
  var inputs = document.getElementsByTagName("input");
  for (var i=0; i<inputs.length; i++){
    inputs[i].onfocus = function () {
      this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
    }
    inputs[i].onblur = function () {
      this.parentNode.getElementsByTagName("span")[0].style.display = "none";
    }
  }
  var selects = document.getElementsByTagName("select");
  for (var k=0; k<selects.length; k++){
    selects[k].onfocus = function () {
      this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
    }
    selects[k].onblur = function () {
      this.parentNode.getElementsByTagName("span")[0].style.display = "none";
    }
  }
  var textareas = document.getElementsByTagName("textarea");
  for (var m=0; m<textareas.length; m++){
    textareas[m].onfocus = function () {
      this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
    }
    textareas[m].onblur = function () {
      this.parentNode.getElementsByTagName("span")[0].style.display = "none";
    }
  }
}
addLoadEvent(prepareInputsForHints);


html, после формы добавляем span с текстом
<span class="hint">какойто текст</span>


сss
Код:
.hint {
   	display: none;
    position: absolute;
    left: 350px;
	top:5px;
    width: 250px;
	height:20px;
	text-align:center;
	box-shadow: 0 0 3px rgba(0,0,0,0.5);
    margin-top:-5px;
    border: 1px solid #ffffff;
    padding: 3px 4px;
    background: #f6f5f5 url(pointer.gif) no-repeat -10px 5px;
	border-radius: 5px;
Ответить с цитированием
  #12 (permalink)  
Старый 12.06.2012, 15:57
Интересующийся
Отправить личное сообщение для jorik Посмотреть профиль Найти все сообщения от jorik
 
Регистрация: 04.06.2012
Сообщений: 24

появился еще один вопрос по этому поводу, Все нормально работает, вот только IE 6-8 хоть и работает но ругется. Ошибка

Что это значит и как это можно исправить (скрипт выше)?
Ответить с цитированием
  #13 (permalink)  
Старый 12.06.2012, 20:57
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от jorik
Что это значит и как это можно исправить (скрипт выше)?
это значит что элемент SPAN не удалось найти и соответственно элемента с индексом 0 нету в возвращенном значении после getElementsByTagName("span").

Можно это обойти примерно так:
( this.parentNode.getElementsByTagName( "span" )[ 0 ] || { style: {} } ).style.display = "inline";
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #14 (permalink)  
Старый 12.06.2012, 21:35
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

jorik,
Токо шо напоролся на такое ж в ИЕ

Нужно начинать поиск с родителя, который имеет id и далее внутрь,
Ответить с цитированием
  #15 (permalink)  
Старый 13.06.2012, 11:07
Интересующийся
Отправить личное сообщение для jorik Посмотреть профиль Найти все сообщения от jorik
 
Регистрация: 04.06.2012
Сообщений: 24

Сообщение от devote Посмотреть сообщение
это значит что элемент SPAN не удалось найти и соответственно элемента с индексом 0 нету в возвращенном значении после getElementsByTagName("span").

Можно это обойти примерно так:
( this.parentNode.getElementsByTagName( "span" )[ 0 ] || { style: {} } ).style.display = "inline";
Спасибо, это проблему решило, но в связи с этим появилась другая.
Теперь подсказки возле форм по клику на форму появляются, но не исчезают по клику на вне формы или по другой форме.

Цитата:
Нужно начинать поиск с родителя, который имеет id и далее внутрь,
большое спасибо за совет, но я не очень силен в этом Если можно приведите пример как переделать существующий код
Ответить с цитированием
  #16 (permalink)  
Старый 13.06.2012, 12:07
Интересующийся
Отправить личное сообщение для jorik Посмотреть профиль Найти все сообщения от jorik
 
Регистрация: 04.06.2012
Сообщений: 24

Всем огромное спасибо, разобрался
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простая проблема, не знаю как сформулировать iNfantry (X)HTML/CSS 3 23.03.2012 01:08
Проблема с получением атрибутов элементов из набора Nightwalker_nsk jQuery 2 17.05.2011 08:32
Проблема с Popup окном vovuslik jQuery 5 12.06.2010 16:12
Проблема, в менюшке Большой джо Элементы интерфейса 0 12.07.2009 17:12
Проблема спама lliberty AJAX и COMET 1 12.03.2009 16:47