Reputation: 11
I'm trying to make simple jquery code for show/hide function. But still I'm doing something wrong.
$(document).ready(function(){
$('.arrow').click(function() {
$('#box').show("slow");
});
$('.arrow').click(function() {
$('#box').hide("slow");
});
$('.arrow').click(function() {
$('#box').show("slow");
});
});
Upvotes: 1
Views: 3857
Reputation: 2505
you can use any toggle with [slow
, medium
, fast
] parameter also,
$(document).ready(function(){
$('.arrow').on('click', function() {
$('#box').toggle("slow");
});
});
Upvotes: 0
Reputation: 17828
use toggle
:
$(document).ready(function(){
$('.arrow').click(function() {
$('#box').toggle('slow');
});
});
or you can save your status and toggle manually:
$(document).ready(function(){
var hidden = false;
$('.arrow').click(function() {
if (hidden) {
hidden = true;
$('#box').hide("slow");
} else {
hidden = false;
$('#box').show("slow");
}
});
});
EDIT
to use slideUp
/slideDown
, you can do:
$(document).ready(function(){
var hidden = false;
$('.arrow').click(function() {
if (hidden) {
hidden = false;
$('#box').slideDown("slow");
} else {
hidden = true;
$('#box').slideUp("slow");
}
});
});
or use slideToggle
$(document).ready(function(){
$('.arrow').click(function() {
$('#box').slideToggle("slow");
});
});
Upvotes: 7
Reputation: 547
You should simply use .toggle function:
$(document).ready(function(){
$('.arrow').click(function() {
$('#box').toggle("slow");
});
});
Upvotes: 0