.slideToggle()

Định nghĩa và sử dụng

  • .slideToggle(): Hiển thị và ẩn các thành phần phù hợp với hiệu ứng chuyển động trượt (slide).
  • Việc hiển thị và ẩn được luân phiên nhau giữa các lần action (VD action Click).

Cấu trúc

  • Đã được thêm vào từ phiên bản 1.0

.slideToggle(Độ bền)

Độ bền có thể bằng số hoặc bằng chữ: slow, fast.

$('p').slideToggle(300);
$('p').slideToggle(fast);

.slideToggle(Độ bền,function(){...})

Độ bền có thể bằng số hoặc bằng chữ: slow, fast.

$('p').slideToggle(300,function(){
    $('span').fadeIn(100);
});
  • Đã được thêm vào từ phiên bản 1.4.3

.slideToggle(Độ bền,'easing')

Độ bền có thể bằng số hoặc bằng chữ: slow, fast.

Easing có thể sử dụng swing hoặc linear

$('p').slideToggle(300,'swing');

.slideToggle(Độ bền,'easing',function(){...})

Độ bền có thể bằng số hoặc bằng chữ: slow, fast.

Easing có thể sử dụng swing hoặc linear

$('p').slideToggle(300,'swing',function(){
    $('span').fadeIn(100);
});

.slideToggle(Độ bền)

Html viết:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Tiêu đề</title>
<script src="https://code.jquery.com/jquery-latest.js"></script>
<style>
div {
    background-color: blue;
    display: none;
    float: left;
    margin-right: 20px;
    height: 100px;
    width: 150px;
}
p {
    clear: both;
}
</style>
<script>
$(function(){
    $('button').click(function(){
        $('.test03').slideToggle(2000);
        $('.test02').slideToggle('slow');
    });
});
</script>
</head>

<body>
<p><button>Click</button></p>
<div class="test03">slideToggle(2000)</div>
<div class="test02">slideToggle(slow)</div>
</body>
</html>

Hiển thị trình duyệt:

Hiệu ứng sẽ luân phiên hiển thị và ẩn thông qua nhiều lần click vào button.

So sánh code HTML trước và sau khi có jQuery:

Trước khi có jQuery Sau khi có jQuery

<p><button>Click</button></p>
<div class="test03">slideToggle(2000)</div>
<div class="test02">slideToggle(slow)</div>

<p><button>Click</button></p>
<div class="test03" style="display: block;">slideToggle(2000)</div>
<div class="test02" style="display: block;">slideToggle(slow)</div>

.slideToggle(Độ bền,function(){...})

Html viết:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Tiêu đề</title>
<script src="https://code.jquery.com/jquery-latest.js"></script>
<style>
div {
    background-color: blue;
    display: none;
    float: left;
    margin-right: 20px;
    height: 100px;
    width: 150px;
}
p {
    clear: both;
}
</style>
<script>
$(function(){
    $('button').click(function(){
        $('div').slideToggle(2000,function(){
            $(this).css('background-color','red');
        });
    });
});
</script>
</head>

<body>
<p><button>Click</button></p>
<div>Thành phần div</div>
</body>
</html>

Hiển thị trình duyệt:

Hiệu ứng sẽ luân phiên hiển thị và ẩn thông qua nhiều lần click vào button, sau khi hoàn thành hiệu ứng sẽ hiển thị nội dung bên trong function.

So sánh code HTML trước và sau khi có jQuery:

Trước khi có jQuery Sau khi có jQuery

<p><button>Click</button></p>
<div>Thành phần div</div>

<p><button>Click</button></p>
<div style="display: block; background-color: red;">Thành phần div</div>

.slideToggle(Độ bền,'easing')

Html viết:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Tiêu đề</title>
<script src="https://code.jquery.com/jquery-latest.js"></script>
<style>
div {
    background-color: blue;
    display: none;
    float: left;
    margin-right: 20px;
    height: 100px;
    width: 150px;
}
p {
    clear: both;
}
.visible {
    background-color: red;
    display: block!important;
}
</style>
<script>
$(function(){
    $('button').click(function(){
        $('.swing').slideToggle(2000,'swing');
        
        $('.linear').slideToggle(2000,'linear');
    });
});
</script>
</head>

<body>
<p><button>Click</button></p>
<div class="swing">slideToggle swing</div>
<div class="linear">slideToggle linear</div>
</body>
</html>

Hiển thị trình duyệt:

Hiệu ứng sẽ luân phiên hiển thị và ẩn thông qua nhiều lần click vào button.

So sánh code HTML trước và sau khi có jQuery:

Trước khi có jQuery Sau khi có jQuery

<p><button>Click</button></p>
<div class="swing">slideToggle swing</div>
<div class="linear">slideToggle linear</div>

<p><button>Click</button></p>
<div class="swing" style="display: block;">Nội dung mới</div>
<div class="linear" style="display: block;">Nội dung mới</div>

.slideToggle(Độ bền,'easing',function(){...})

Html viết:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Tiêu đề</title>
<script src="https://code.jquery.com/jquery-latest.js"></script>
<style>
div {
    background-color: blue;
    display: none;
    float: left;
    margin-right: 20px;
    height: 100px;
    width: 150px;
}
p {
    clear: both;
}
.visible {
    background-color: red;
    display: block!important;
}
</style>
<script>
$(function(){
    $('button').click(function(){
        $('.swing').slideToggle(2000,'swing',function(){
            $(this).addClass('visible').text('Nội dung mới');
        });
        
        $('.linear').slideToggle(2000,'linear',function(){
            $(this).addClass('visible').text('Nội dung mới');
        });
    });
});
</script>
</head>

<body>
<p><button>Click</button></p>
<div class="swing">slideToggle swing</div>
<div class="linear">slideToggle linear</div>
</body>
</html>

Hiển thị trình duyệt:

Hiệu ứng sẽ luân phiên hiển thị và ẩn thông qua nhiều lần click vào button, sau khi hoàn thành hiệu ứng sẽ hiển thị nội dung bên trong function.

So sánh code HTML trước và sau khi có jQuery:

Trước khi có jQuery Sau khi có jQuery

<p><button>Click</button></p>
<div class="swing">slideToggle swing</div>
<div class="linear">slideToggle linear</div>

<p><button>Click</button></p>
<div class="swing" style="display: block; background-color: red;">Nội dung mới</div>
<div class="linear" style="display: block; background-color: red;">Nội dung mới</div>