เมธอด hide และ show ใน jQuery
เอฟเฟกต์ทำให้สามารถทำแอนิเมชันให้กับองค์ประกอบได้
เช่น ซ่อนหรือแสดงองค์ประกอบอย่างนุ่มนวล สำหรับ
แต่ละเอฟเฟกต์จะมีเมธอด jQuery ของตัวเอง เริ่มจากเมธอด
hide และ
show
เมธอด hide และ show ทำให้สามารถ
ซ่อนและแสดงองค์ประกอบได้ มาดูการทำงานของเมธอดเหล่านี้
เริ่มต้นด้วยโค้ด HTML ต่อไปนี้:
<button id="hide">hide</button>
<button id="show">show</button>
<div id="elem">text...</div>
โค้ด CSS มีลักษณะดังนี้:
#elem {
padding: 10px;
width: 150px;
height: 150px;
border: 1px solid green;
margin-top: 10px;
}
ตอนนี้เขียนโค้ด Javascript ตามที่กำหนดว่า
เมื่อกดปุ่ม #hide
องค์ประกอบจะถูกซ่อน และเมื่อกดปุ่ม
#show - จะแสดง:
$('#hide').click(function() {
$('#elem').hide();
});
$('#show').click(function() {
$('#elem').show();
});
สามารถกำหนดเวลาในการแสดงเอฟเฟกต์ได้เป็น
มิลลิวินาที (1000 มิลลิวินาที = 1 วินาที)
ในกรณีนี้เอฟเฟกต์จะเล่นอย่างนุ่มนวล
ตลอดเวลาที่กำหนด กำหนด
เวลาในการแสดงเอฟเฟกต์เป็น 1 วินาที
แล้วมาดูกันว่าเอฟเฟกต์จะเปลี่ยนไปอย่างไร:
$('#hide').click(function() {
$('#elem').hide(1000);
});
$('#show').click(function() {
$('#elem').show(1000);
});
กำหนดการจัดหน้า:
<p>
<a id="hide" href="">hide</a> <a id="show" href="">show</a>
</p>
<div id="block">
<ol>
<li>text</li>
<li>text</li>
<li>text</li>
<li>text</li>
<li>text</li>
<li>text</li>
<li>text</li>
<li>text</li>
<li>text</li>
<li>text</li>
</ol>
</div>
body {
font-size: 18px;
}
a {
color: blue;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
ol {
margin: 0px;
padding-left: 10px;
}
li {
list-style-type: inside;
}
div {
display: inline-block;
padding: 30px;
border: 1px solid black;
cursor: pointer;
margin-bottom: 20px;
}
ทำให้เมื่อคลิกที่ลิงก์ที่มี
#hide div ที่มีรายการ จะถูกซ่อน และเมื่อ
คลิกลิงก์ที่มี #show จะแสดง สำหรับแต่ละ
เอฟเฟกต์ให้กำหนดเวลาในการแสดงเป็น 600ms