Я чувствую, что это должно работать:
$(".module .one").hover(function() {
$("#one").addClass('red');
});
По сути, я скрываю всех .children "#viewport при загрузке (который #one является), а затем, когда отдельный элемент находится в ( конкретно # 1.
Основная идея - это окно с переменным содержимым, где когда миниатюра или что-то, что я вставляю в модули, меняет содержимое, отображаемое в области просмотра. Что-то я делаю не так?
Вот мой полный JS:
<script type="text/javascript">
$(document).ready(function() {
$(".module .caption").hide();
$("#viewport").children().hide();
$(".module").hover(function() {
$(this).find(".caption").slideDown().end().siblings('.module').addClass('under');
},function() {
$(this).find(".caption").slideUp().end().siblings('.module').removeClass('under');
});
$(".module .one").hover(function() {
$("#one").addClass('red');
});
});
</script>
Вот разметка:
<div id="viewport">
<div id="one">FIRST ONE CONTENT</div><!-- end #one -->
<div id="two">SECOND ONE CONTENT</div><!-- end #two -->
<div id="three">THIRD ONE CONTENT</div><!-- end #three -->
<div id="four">FOURTH ONE CONTENT</div><!-- end #four -->
</div><!-- end #viewport -->
<div class="module span-1 one">
<div class="inside">HOVER</div><!-- end .inside -->
<h1>TITLE</h1>
<div class="caption down">
<p>Caption ipsum lorem dolor ipsum lorem dolor ipsum lorem dolor ipsum lorem dolor</p>
</div><!-- end .caption -->
</div><!-- end .module -->
<div class="module span-1 two">
<div class="inside">HOVER</div><!-- end .inside -->
<h1>TITLE</h1>
<div class="caption down">
<p>Caption ipsum lorem dolor ipsum lorem dolor ipsum lorem dolor ipsum lorem dolor</p>
</div><!-- end .caption -->
</div><!-- end .module -->
Большая функция наведения в середине предназначена для некоторых необычных эффектов ролловера, которые модули будут выполнять сами, но для этих целей я просто хочу выяснить, почему я не могу добавить класс к отдельному элементу при наведении другого. Буду рад некоторой помощи / совету!