Я пытаюсь сделать простой контент-скользящий предмет и застрял в написании кода, возможно, для простейшего материала - наведение курсора для навигационной части слайдера. Я хочу, чтобы это было так, что когда один из div с информацией о слайде был нажат, наведение не работает для него, но работает для двух других div.Mouseover/mouseout +: not jquery issue
Я пробовал классы и идентификаторы для щелкнутого div, но ничего не работает, когда я добираюсь до части наведения. Я пытаюсь использовать: не фильтровать, чтобы выбрать два других div, или все три, те, которые не были #clicked. Но выбора не так много - независимо от того, что, зависание работает для всех трех div. Я пробовал использовать: не с другими функциями, такими как hide(), и все работает отлично. Так это проблема специфичности CSS? Или это что-то не так с mouseover/mouseout? Или, может быть, со мной, как быть некомпетентным дураком?
Вот мой HTML:
<div id="linkswrapper">
<div>
<a>Slide 1</a>
<p>Slide info 1.</p>
</div>
<div>
<a>Slide 2</a><p>Slide info 2.</p>
</div>
<div>
<a>Slide 3</a>
<p>Slide 3 info.</p>
</div>
</div>
Вот код JQuery:
// adds href="#" to all links in "linkswrapper" div
$("#linkswrapper div a").attr({href: "#"});
// this handles clicks on the divs. When clicked, the div is assigned
// "clicked" id, and the id attribute is removed from the other sibling divs
$("#linkswrapper div").click(function() {
$(this).attr({id:"clicked"});
$("#linkswrapper div").not(this).each(function(){ $(this).removeAttr("id"); });
});
// handling the mouseover/mouseout. Hover should be working on all the three divs
// if neither of them has been clicked on or only on the two other divs if one
// of the three has been clicked on
$("#linkswrapper div:not(#clicked)").mouseover(function() {
$("a", this).css("border-color","#0066FF");
$("p", this).css("color","#0066FF");
}).mouseout(function(){
$("a", this).css("border-color","#e3e3e3");
$("p", this).css("color","#cccccc");
});