2016-11-15 189 views
3

每當我點擊「click hier」時,類「cirkel1」的div和類「bewegendetekst」的div顯示出來。但是當我想點擊「點擊」時,它們不會消失。jQuery在點擊時隱藏多個div

我試着使用切換功能,但這隻會讓事情變得更糟。

所以我的問題是我怎麼做帶班「cirkel1」與類格「bewegendetekst」股利消失,當我點擊「點擊後退」

$(document).ready(function() { 
 
    $(".blok1").click(function() { 
 
    $(".blok2").toggle("slow"); 
 
    $(".blok3").toggle("slow"); 
 
    $(".blok4").toggle("slow"); 
 
    }); 
 
    $(".blok1").click(function() { 
 
    if ($(this).width() != 500) 
 
     $(this).animate({ 
 
     width: 500 
 
     }, 1000); 
 
    else 
 
     $(this).animate({ 
 
     width: 250 
 
     }, 1000); 
 
    }); 
 
    $(".blok1").click(function() { 
 
    if ($(this).height() != 500) 
 
     $(this).animate({ 
 
     height: 500 
 
     }, 1000); 
 
    else 
 
     $(this).animate({ 
 
     height: 250 
 
     }, 1000); 
 
    }); 
 
}); 
 

 
$(document).ready(function() { 
 
    $("p").on("click", function() { 
 
    var el = $(this); 
 
    setTimeout(function() { 
 
     if (el.text() == el.data("text-swap")) { 
 
     el.text(el.data("text-original")); 
 
     } else { 
 
     el.data("text-original", el.text()); 
 
     el.text(el.data("text-swap")); 
 
     } 
 
    }, 1000); 
 
    }); 
 
}); 
 

 

 
$(document).ready(function() { 
 
    $(".cirkel1").click(function() { 
 
    $(".bewegendetekst").show("slow"); 
 
    }); 
 
}); 
 

 
$(document).ready(function() { 
 
    $(".witte-tekst").click(function() { 
 
    $(".cirkel1").show("slow"); 
 
    }); 
 
    $(".cirkel1").click(function(e) { 
 
    e.stopPropagation(); 
 
    $(".cirkel1").hide("slow"); 
 
    }); 
 
});
.rij1 { 
 
    display: flex; 
 
    width: 500px; 
 
} 
 
.rij2 { 
 
    display: flex; 
 
    width: 500px; 
 
} 
 
.blok1 { 
 
    background-color: cadetblue; 
 
    height: 250px; 
 
    width: 250px; 
 
} 
 
.blok2 { 
 
    background-color: palevioletred; 
 
    height: 250px; 
 
    width: 250px; 
 
} 
 
.blok3 { 
 
    background-color: darkseagreen; 
 
    height: 250px; 
 
    width: 250px; 
 
} 
 
.blok4 { 
 
    background-color: coral; 
 
    height: 250px; 
 
    width: 250px; 
 
} 
 
.witte-tekst { 
 
    color: #fff; 
 
} 
 
.cirkel1 { 
 
    border-radius: 50%; 
 
    background-color: #000; 
 
    height: 125px; 
 
    width: 125px; 
 
    position: absolute; 
 
} 
 
.bewegendetekst { 
 
    color: #fff; 
 
    height: 125px; 
 
    width: 250px; 
 
    background-color: #000; 
 
    padding: 30px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<div class='rij1'> 
 
    <div class='blok1'> 
 
    <p class='witte-tekst' data-text-swap="Click Back">Click hier</p> 
 
    <div class='cirkel1' style="display:none"></div> 
 
    <p class='bewegendetekst' style="display:none">Met Jquery is het ook mogelijk om verschillende animaties toetepassen kijk maar naar deze cirkel</p> 
 
    </div> 
 
    <div class='blok2'></div> 
 
</div> 
 

 
<div class='rij2'> 
 
    <div class='blok3'></div> 
 
    <div class='blok4'></div> 
 
</div>

+1

爲什麼有這麼多'$(文件) .ready(function(){'? – Monasha

+0

你在濫用像id這樣的類,你應該參考演員你所有的CSS和JS。 「點擊」是什麼意思? – sandrooco

+0

@KevinKloet它確實,它只是第一個沒有的重載。 – sandrooco

回答

1

使用jQuery的toggle()方法show/hide圈當你點擊Click Back按鈕:

$(".witte-tekst").click(function() { 
    $(".cirkel1").toggle("slow"); 
}) 

注意:一個就緒功能就足夠了。

希望這會有所幫助。

$(document).ready(function() { 
 
    $(".blok1").click(function() { 
 
    $(".blok2").toggle("slow"); 
 
    $(".blok3").toggle("slow"); 
 
    $(".blok4").toggle("slow"); 
 
    }); 
 
    $(".blok1").click(function() { 
 
    if ($(this).width() != 500) 
 
     $(this).animate({ 
 
     width: 500 
 
     }, 1000); 
 
    else 
 
     $(this).animate({ 
 
     width: 250 
 
     }, 1000); 
 
    }); 
 
    $(".blok1").click(function() { 
 
    if ($(this).height() != 500) 
 
     $(this).animate({ 
 
     height: 500 
 
     }, 1000); 
 
    else 
 
     $(this).animate({ 
 
     height: 250 
 
     }, 1000); 
 
    }); 
 

 
    $("p").on("click", function() { 
 
    var el = $(this); 
 
    setTimeout(function() { 
 
     if (el.text() == el.data("text-swap")) { 
 
     el.text(el.data("text-original")); 
 
     } else { 
 
     el.data("text-original", el.text()); 
 
     el.text(el.data("text-swap")); 
 
     } 
 
    }, 1000); 
 
    }); 
 

 

 
    $(".cirkel1").click(function() { 
 
    $(".bewegendetekst").show("slow"); 
 
    }); 
 

 
    $(".witte-tekst").click(function() { 
 
    $(".cirkel1").toggle("slow"); 
 
    }); 
 
    $(".cirkel1").click(function(e) { 
 
    e.stopPropagation(); 
 
    $(".cirkel1").hide("slow"); 
 
    }); 
 
});
.rij1 { 
 
    display: flex; 
 
    width: 500px; 
 
} 
 
.rij2 { 
 
    display: flex; 
 
    width: 500px; 
 
} 
 
.blok1 { 
 
    background-color: cadetblue; 
 
    height: 250px; 
 
    width: 250px; 
 
} 
 
.blok2 { 
 
    background-color: palevioletred; 
 
    height: 250px; 
 
    width: 250px; 
 
} 
 
.blok3 { 
 
    background-color: darkseagreen; 
 
    height: 250px; 
 
    width: 250px; 
 
} 
 
.blok4 { 
 
    background-color: coral; 
 
    height: 250px; 
 
    width: 250px; 
 
} 
 
.witte-tekst { 
 
    color: #fff; 
 
} 
 
.cirkel1 { 
 
    border-radius: 50%; 
 
    background-color: #000; 
 
    height: 125px; 
 
    width: 125px; 
 
    position: absolute; 
 
} 
 
.bewegendetekst { 
 
    color: #fff; 
 
    height: 125px; 
 
    width: 250px; 
 
    background-color: #000; 
 
    padding: 30px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<div class='rij1'> 
 
    <div class='blok1'> 
 
    <p class='witte-tekst' data-text-swap="Click Back">Click hier</p> 
 
    <div class='cirkel1' style="display:none"></div> 
 
    <p class='bewegendetekst' style="display:none">Met Jquery is het ook mogelijk om verschillende animaties toetepassen kijk maar naar deze cirkel</p> 
 
    </div> 
 
    <div class='blok2'></div> 
 
</div> 
 

 
<div class='rij2'> 
 
    <div class='blok3'></div> 
 
    <div class='blok4'></div> 
 
</div>

+0

這不是你要找的答案嗎? –

0

隱藏()函數使用隱藏像

$('#yourdiv').hide(); 
0

它會再次隱藏點擊

$(".witte-tekst").click(function() { 
     $(".cirkel1").toggle("slow"); 
});