Действие: Наведите указатель мыши на несколько элементов «h2» одним движением мыши.jQuery несколько событий наведения - мышь не стреляет
Ожидаемое поведение: fadeIn и fadeOut соответствующие элементы «статьи», один за другим. Одновременно должны быть видны только одна статья, и никакие элементы статьи не должны быть видны после того, как все элементы h2 будут опущены.
Актуальное описание: видна одна или несколько статей.
Мой отзыв: ??? Попробуйте вещи в течение 2 дней ... ??? Перейдите в stackoverflow и надейтесь на помощь. (Заранее спасибо!)
<div>
<h2>heading 1</h2>
<h2>heading 2</h2>
<h2>heading 3</h2>
</div>
<div>
<article>article 1</article>
<article>article 2</article>
<article>article 3</article>
</div>
<style>
article {
display: none;
};
</style>
<script>
$(document).ready(function(){
var clicked = false;
var hovered = false;
//click behavior
$("h2").click(function(event){
var index = $(this).closest("h2").index() + 1;
$("article:not(article:nth-of-type(" + index + "))").fadeOut();
$("article").promise().done(function(){
if (clicked == true) {
$("article:nth-of-type(" + index + ")").fadeOut();
clicked = false;
hovered = false;
} else if (hovered == true){
clicked = true;
} else {
$("article:nth-of-type(" + index + ")").fadeIn();
clicked = true;
}
});
});
//click anywhere else to hide articles
$(document).click(function(event){
if (!$(event.target).closest("h2").length) {
$("article").fadeOut();
clicked = false;
hovered = false;
};
});
//hover behavior
$("h2").hover(function(event){
var index = $(this).closest("h2").index() + 1;
if (clicked == false) {
hovered = true;
$("article").promise().done(function(){
$("article:not(article:nth-of-type(" + index + "))").fadeOut();
$("article").promise().done(function(){
$("article:nth-of-type(" + index + ")").fadeIn();
});});
};}, function() {
if (clicked == false) {
$("article").promise().done(function(){
$("article").fadeOut();
hovered = false;
});
};
});
});
</script>
Спасибо за вашу помощь! Я только что начал jQuery в этом месяце, поэтому я ценю упрощенный пример. – pebd
Не беспокойтесь, удачи! :) – FirstLegion