• Страница 1 из 1
  • 1
При наведении на один элемент появляется второй
club4127807
Дата: Среда, 28.12.2011, 14:25 | Сообщение # 1
говорун
Группа: Проверенные
Пользователь №: 3087
Сообщений: 190
Получено оценок: 3
Привет)
Есть скрипт

Code
<script language="JavaScript" type="text/javascript">    
function visibleEl(item) {
document.getElementById(item).style.display = "block";
}
function HideElement(item) {
document.getElementById(item).style.display = "none";
}  
</script>

<div  onMouseOver="visibleEl('opt1')" onMouseOut="HideElement('opt1')">Сообщение или комментарий...<div style="display:none; background:grey;" id="opt1">Здесь Ваши кнопки</div></div>


но мне нужно чтобы работало через свои class а не id и я меняю на

Code
<script language="JavaScript" type="text/javascript">    
function visibleEl(item) {
document.getElementsByClassName(item).style.display = "block";
}
function HideElement(item) {
document.getElementsByClassName(item).style.display = "none";
}  
</script>

<div onMouseOver="visibleEl('opt1')" onMouseOut="HideElement('opt1')">Сообщение или комментарий...<div style="display:none; background:grey;" class="opt1">Здесь Ваши кнопки</div></div>


почему не работает понять не могу


Сеть образовательных сайтов studz
  
Crasher
Дата: Среда, 28.12.2011, 16:34 | Сообщение # 2
говорун
Группа: Проверенные
Пользователь №: 3179
Сообщений: 256
Получено оценок: 3
Функция document.getElementsByClassName(item) возвращает массив элементов с таким классом. Если ты уверен, что элемент с таким классом один — замени на document.getElementsByClassName(item)[0], но если их несколько — нужно либо выполнять функцию для каждого обьекта с таким классом, либо присваивать id и работать с ним.

  
club4127807
Дата: Среда, 28.12.2011, 16:52 | Сообщение # 3
говорун
Группа: Проверенные
Пользователь №: 3087
Сообщений: 190
Получено оценок: 3
Crasher, спасибо за ответ!
в качестве такого класса я беру .postBottom (на форуме он повторяется много раз)

мне просто нужна функция как вконтакте. когда наводишь на сообщения появляются кнопки удалить и редактировать. этот скрипт я так понимаю не подойдет для этих целей?


Сеть образовательных сайтов studz
  
Crasher
Дата: Среда, 28.12.2011, 17:54 | Сообщение # 4
говорун
Группа: Проверенные
Пользователь №: 3179
Сообщений: 256
Получено оценок: 3
хмм.. Можно сделать простой код, который обращается к кнопками не по id или классу, а просто как к внутреннему элементу, в зависимости от структуры сообщения.

Например:
Code
<script>
function show_buttons(obj) {
obj.children[0].style.display='block';
}
function hide_buttons(obj) {
obj.children[0].style.display='none';
}
</script>

<div class="post" onMouseOver="show_buttons(this)" onMouseOut="hide_buttons(this)">
     $BODY$
     <div class="buttons">
        <a href="#">редактировать</a>
        <a href="#">удалить</a>
     </div>
</div>




Сообщение отредактировал Crasher - Среда, 28.12.2011, 17:54
  
club4127807
Дата: Среда, 28.12.2011, 18:39 | Сообщение # 5
говорун
Группа: Проверенные
Пользователь №: 3087
Сообщений: 190
Получено оценок: 3
Crasher,
а как скрипт понимает что скрывать?
как задать то, чтобы он скрывал что то конкретное

РАБОТАЕТ конечно, но пока не могу понять как скрипт выбирает что скрыть


Сеть образовательных сайтов studz

Сообщение отредактировал club4127807 - Среда, 28.12.2011, 19:23
  
Crasher
Дата: Среда, 28.12.2011, 22:44 | Сообщение # 6
говорун
Группа: Проверенные
Пользователь №: 3179
Сообщений: 256
Получено оценок: 3
club4127807, просто с помощью children[i], или же parentNode, говорю же, зависит от структуры сообщения. Скинь ссылку/код страницы, что-бы сделать под то, как тебе нужно

  
club4127807
Дата: Четверг, 29.12.2011, 00:03 | Сообщение # 7
говорун
Группа: Проверенные
Пользователь №: 3087
Сообщений: 190
Получено оценок: 3
Crasher, я в принципе сделал) спасибо мэн)

Сеть образовательных сайтов studz
  
  • Страница 1 из 1
  • 1
Поиск:
© Studioad.ru 2006 · 2010. Использование материалов форума на сторонних ресурсах без прямой обратной ссылки строго запрещено. Хостинг от uCoz.