Teori 9 - : Teori 7 - Pemograman Web (IS 204)
Teori 9 - : Teori 7 - Pemograman Web (IS 204)
Teori 9 -
What is jQuery?
Karena...
DOM tree terlalu kaku untuk digunakan
Tidak ada multiple handlers per event
Browser incompatibilities
Tidak ada high-level function
Perbedaan Jumlah Kode DOM dengan
JQuery
Dengan DOM
var fieldsets = document.getElementsByTagName('fieldset');
var legend, fieldset;
for (var i = 0; fieldset = fieldsets[i]; i++) {
if (!hasClass(fieldset, 'collapsible')) {
continue;
}
legend = fieldset.getElementsByTagName('legend');
if (legend.length == 0) {
continue;
}
legend = legend[0];
...
}
Dengan JQuery
$('fieldset.collapsible legend').each(function () {...});
JQuery: Fundamental
Template Jquery :
<html>
<head>
<script type=“text/javascript” src=“jquery.js”/>
<script type=“text/javascript”>
//taruh kode jquery / javascript disini
</script>
</head>
<body>
</body>
</html>
Contoh :
Wrap element html
$(“<p>What's cooking?</p>”)
$(“<p>What's cooking?</p>”).appendTo(“body”)
Selectors
.prepend(‘<span>Changed</span>’)
.css({background:”red”})
Contoh selector Form & Function
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("span.none").click(
function(){
$(this).siblings(":checkbox").removeAttr("checked");
}
);
$("span.all").click(
function(){
$(this).siblings(":checkbox").attr("checked","checked");
}
);
});
</script>
</head>
<body>
<div>
<span class="all">Select All</span>
<span class="none">Select None</span>
<input name="chk1" type="checkbox"/>
<input name="chk2" type="checkbox"/>
<input name="chk3" type="checkbox"/>
</div>
<div>
<span class="all">Select All</span>
<span class="none">Select None</span>
<input name="chk4" type="checkbox"/>
<input name="chk5" type="checkbox"/>
<input name="chk6" type="checkbox"/>
</div>
</body>
</html>
Event
Pada dasarnya Event di JQuery sama dengan Event di JavaScript.
Syntax :
$("<selector>").<function_name>(function(){
//kode anda
});
Syntax :
$(selector).hide(speed,callback)
$(selector).show(speed,callback)
$(selector).toggle(speed,callback)
Speed parameter memiliki value slow, fast,
normal atau nilai pasti (dalam milliseconds)
Effect (2) slide, fade , animate
$(selector).slideDown(speed,callback)
$(selector).slideUp(speed,callback)
$(selector).slideToggle(speed,callback)
$(selector).fadeIn(speed,callback)
$(selector).fadeOut(speed,callback)
$(selector).fadeTo(speed,opacity,callback)
$(selector).animate({params},speed,easing,callback)
$(selector).stop();
Parameter :
opacity : Nilai transparansi 0 s/d 1
params : merubah css, mis : {height:50; width:50}
easing: membutuhkan tambahan plug-in http://gsgd.co.uk/sandbox/jquery/easing/
Contoh Effect (1)
<html>
<head>
<title>jQuery Effect 1</title>
<script type="text/javascript" src="jquery.js"/>
<script type="text/javascript">
$(document).ready(function(){
$("button.tb").click(
function(){
$("p").toggle();
}
);
$("#p1").click(function(){
$(this).hide();
});
$("#p2").click(function(){
$(this).fadeOut();
});
$("#p3").click(function(){
$(this).slideUp();
});
});
</script>
</head>
<body>
<button class="tb">Toggle Button</button>
<p id="p1"> This is paragraph with hide effect</p>
<p id="p2"> This is paragraph with fadeOut effect</p>
<p id="p3"> This is paragraph with slideUp effect</p>
</body>
</html>
Contoh Effect (2)
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#start").click(function(){
$("#box").animate({height:300},"slow");
$("#box").animate({width:300},"slow");
$("#box").animate({height:100},"slow");
$("#box").animate({width:100},"slow");
});
});
</script>
</head>
<body>
<p><a href="#" id="start">Start Animation</a></p>
<div id="box"
style="background:#98bf21;height:100px;width:100px;position:relat
ive">
</div>
</body>
Callback
Kasus :
Setiap Effect memiliki kecepatan yang berbeda-beda
yang dapat diatur secara custom.
Code JS dieksekuasi secara berurutan
Akibatnya :
Statement yang dijalankan setelah animasi dapat
menimbulkan error atau konflik halaman karena
animasi belum diimplement dengan sempurna
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("p").hide(2000,my_alert);
});
});
function my_alert()
{
alert("The pagraph is now hidden");
}
</script>
Latihan
Buatlah Sebuah halaman web menggunakan HTML + CSS + jQuery
seperti gambar dibawah ini.
Jika user melakukan Mouse Over terhadap kotak-kotak kecil maka kotak
yang berwarna hitam akan berubah warna sesuai warna kotak kecil
tersebut.
That’s all for Today !