Было бы полезно, если бы вы включили соответствующий HTML, но, по сути, ваша проблема в том, что вы используете другой общий селектор в своей функции наведения, когда действительно в этот момент вы должны ориентироваться на DOM относительно находящегося элемента.
Например:
<div class="parent">
<div class="focus_col">
Roll over me
</div>
<div class="focus_hidden">
Hidden stuff!
</div>
</div>
<div class="parent">
<div class="focus_col">
Or roll over me too
</div>
<div class="focus_hidden">
Some more hidden stuff!
</div>
</div>
Затем слегка измените jQuery, чтобы в функции наведения он выбирал правильный focus_hidden на основе текущего элемента, над которым наведен курсор:
$('.focus').hover(function() {
$('.focus_hidden', $(this).parent()).slideToggle();
return false;
})
Мои знания об эффективности различных селекторов не так уж велики, поэтому, возможно, кто-то может добавить комментарий, чтобы заявить, можно ли улучшить вышеперечисленное.Это зависит от того, насколько гибким вы хотите быть в своем дизайне;Например, если вы знаете, что div focus_hidden будет всегда следовать за focus_col, вы можете сразу перейти к нему с помощью next ().
Кроме того, я бы удалил вызов .hide () ипросто измените CSS так, чтобы focus_hidden был скрыт по умолчанию, сэкономив немного обработки на стороне клиента.