Đị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).
  • .slideToggle() được ứng dụng để tạo menu slide, khi click hoặc hover thì menu con sẽ luân phiên slide lên xuống, hoặc có thể dùng để tạo accordion.

Cấu trúc

.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);
});

.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');

Bài học chỉ muốn cho bạn hiểu cách sử dụng .slideToggle, muốn biết chi tiết hơn, bạn có thể xem chi tiết thêm tại phần tham khảo.

.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>