Я пытаюсь написать JS-функцию (используя прототип в рельсах), которая будет отображать скрытые div в пределах li, когда это li наводится на клавиатуру. Каждый литий имеет уникальный идентификатор, который является номером, например, так:Javascript Hover Content Show
<li id="100">
<div style="display:none;" id="hover-display-content">Content</div>
<div style="display:none;" id="more-hover-display-content">Content</div>
<div style="display:none;" id="even-more-hover-display-content">Content</div>
</li>
я не уверен, как идти об этом, хотя, особенно там, где JS только показывает скрытые elemenst для этой конкретной ли.
Я думаю, что-то вроде:
Event.observe(window, 'load', function() {
Event.observe($("li"), 'mouseover', function() {
var id = readAttribute("id")
id.getElementById("hover-display-content").style.display = "inline";
id.getElementById("more-hover-display-content").style.display = "inline";
id.getElementById("even-hover-display-content").style.display = "inline";
});
Event.observe($("li"), 'mouseout', function() {
var id = readAttribute("id")
id.getElementById("hover-display-content").style.display = "none";
id.getElementById("more-hover-display-content").style.display = "none";
id.getElementById("even-hover-display-content").style.display = "none";
});
});
Но не кажется, что это будет работать. Где я иду не так?
Edit:
Я теперь с помощью:
Event.observe(window, 'load', function() {
$$('li').invoke('observe', 'mouseover', function(event) {
this.children[0].toggle();
});
$$('li').invoke('observe', 'mouseout', function(event) {
document.children[0].toggle();
});
});
который частично работает, однако мой код выглядит следующим образом:
<ul>
<li>
<div style="display:hidden;">Hidden Div</div>
<div>More content that isn't hidden</div>
</li>
</ul>
Когда я опрокидывание литиево его отображает скрытый div, однако, если я прокручу второй div, он снова скрывает комментарий, хотя этот div находится в ли. Зачем?
На самом деле мой элемент начинается с префикса, я просто взял его для краткости. – goddamnyouryan
@ Ryan: не очень хорошо, когда важно, как вы выбираете и действуете на вещи ... может захотеть вернуть код дословно, минус конфиденциальные. – prodigitalson