SlideShare a Scribd company logo
jQuery
เบื้องต้น
by Rewadee Piputsoongnern
jQuery คืออะไร
• jQuery เป็น JavaScript Library ที่เก็บรวบรวม
ฟังก์ชันต่าง ๆ ที่ทาให้สามารพัฒนาเว็บ โดยช่วยให้
สามารถเขียนหรือเรียกใช้ JavaScript และ Ajax ให้
ง่ายขึ้น
• jQuery เปิดตัวครั้งแรกในงานบาร์แคมป์นิวยอร์ก โดย
จอห์น เรซิก (John Resig) เมื่อ 14 มกราคม พ.ศ.
2549
What You Should Already Know
• ก่อนจะเริ่มศึกษา jQuery ควรมีความรู้พื้นฐานในเรื่อง
ต่อไปนี้มาก่อน
• HTML
• CSS
• JavaScript
การเพิ่ม jQuery library ในหน้าเว็บเพจ
• jQuery library จะเก็บอยู่ในไฟล์ .js เหมือนกับไฟล์ของ
โค้ด JavaScript ซึ่งในไฟล์ดังกล่าวจะเก็บเมธอดทั้งหมด
ของ jQuery
• รูปแบบการเพิ่มไลบรารีในหน้าเว็บเพจ
<head>
<script type="text/javascript" src="jquery.js"></script>
< /head>
****แท็ก <script> จะต้องแทรกอยู่ภายในแท็ก <head>
jQuery Syntax
• jQuery ออกแบบมาให้เลือก HTML element และ
กาหนด action ให้กับอิลิเมนต์นั้น
• รูปแบบ syntax
$(selector).action()
โดย dollar sign ใช้เพื่อกาหนด jQuery
selector คือส่วนที่เลือก เช่น element , css
action() คือ เมธอดที่ใช้กาหนดการทางานให้กับ selector
jQuery Syntax (ต่อ)
ตัวอย่าง
• $(this).hide() - ซ่อนอิลิเมนต์ปัจจุบัน
• $("p").hide() – ซ่อนทุก paragraph
• $("p.test").hide() - ซ่อนทุก paragraph ที่มี
class="test"
• $("#test").hide() – ซ่อนอิลิเมนต์ที่มีค่า id="test"
jQuery Selector
• jQuery Selector ช่วยให้เราสามารถเลือก HTML
element (หรือกลุ่มของ element) โดยใช้ ชื่ออิลิเมนต์
(element name) , ชื่อแอททริบิวต์ (attribute name)
หรือ โดยเนื้อหา
jQuery Element Selector
jQuery ใช้ CSS selector ในการเลือก HTML element
• ตัวอย่าง
• $("p") - เลือก แท็ก <p> ทั้งหมด
• $("p.intro") - เลือก ทุกแท็ก <p> ที่มี class="intro"
• $("p#demo") – เลือกทุกแท็ก <p> ที่มี id="demo"
jQuery Attribute Selector
jQuery ใช้นิพจน์ xPathในการเลือก HTML elementและ Attribute
• ตัวอย่าง
• $("[href]") - เลือกทุกอิลิเมนต์ที่มีแอททริบิวต์ href
• $("[href='#']") – เลือกทุกอิลิเมนต์ที่แอททริบิวต์ href มีค่าเท่ากับ #
• $("[href!='#']") – เลือกทุกอิลิเมนต์ที่มีแอททริบิวต์ href มีค่าไม่
เท่ากับ #
• $("[href$='.jpg']") – เลือกทุกอิลิเมนต์ที่แอททริบิวต์ href ลงท้าย
ด้วย .jpg
jQuery CSS Selector
jQuery CSS selector สามารถใช้เพื่อแก้ไขคุณสมบัติ CSS
ของ HTML element
• ตัวอย่าง
• $("p").css("background-color","yellow");
ตัวอย่างเพิ่มเติมสาหรับ jQuey Selectors
Syntax คาอธิบาย
$(this) อิลิเมนต์ HTML ปัจจุบัน
$("p") แท็ก <p> ทุกแท็ก
$("p.intro") แท็ก <p> ทุกแท็ก ที่มี class="intro"
$("p#intro") แท็ก <p> ทุกแท็ก ที่มี id="intro"
$("p#intro:first") แท็ก <p> แท็กแรก ที่มี id="intro"
$(".intro") ทุกแท็กที่มี class="intro"
$("#intro") แท็กแรกที่มี id="intro"
$("ul li:first") แท็ก <li> แท็กแรกของแต่ละแท็ก <ul>
$("[href$='.jpg']") ทุกแท็กที่มีแอททริบิวต์ href ที่มีค่าลงท้ายด้วย .jpg
$("div#intro .head") ทุกแท็ก ที่มี class="head" อยู่ภายในแท็ก <div> ที่มี id="intro"
jQuery Event Functions
• การจัดการเหตุการณ์(Event handler ) คือ เมธอดที่ถูก
เรียก เมื่อเกิดเหตุการณ์นั้นขึ้นกับอิลิเมนต์
<html>
<head>
<script type="text/javascript" src="jquery.js“></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("p").hide();
});
});
</script>
</head>
<body>
<h2>This is a heading</h2>
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
<button>Click me</button>
</body>
</html>
ถ้ามีเหตุการณ์คลิกที่อิลิ
เมนต์ button ให้ซ่อน
แท็ก <p> ทั้งหมด
Document Ready Function
• รูปแบบ
• ใช้เพื่อป้องกันว่าโค้ดของ jQuery จะทางานเสร็จก่อนที่เอกสารจะโหลดเสร็จ
• ตัวอย่าง action ที่อาจจะล้มเหลวหากว่าฟังก์ชันรันก่อนที่เอกสารจะโหลด
เสร็จ ได้แก่
– พยายามซ่อนอิลิเมนต์ที่ไม่เคยมีมาก่อน
– พยายามอ่านขนาดของ image ที่ยังไม่ได้โหลด
$(document).ready(function(){
// เขียนฟังก์ชัน ของ jQuery บริเวณนี้
});
jQuery Event Functions (ต่อ)
Event Method Description
$(document).ready(function) เหตุการณ์เมื่อ document โหลดเสร็จแล้ว
$(selector).click(function) เหตุการณ์เมื่อมีการคลิกที่อิลิเมนต์ ที่เลือก
$(selector).dblclick(function) เหตุการณ์เมื่อมีการดับเบิ้ลคลิกที่อิลิเมนต์ ที่เลือก
$(selector).focus(function) เหตุการณ์เมื่อมีโฟกัสที่อิลิเมนต์ ที่เลือก
$(selector).mouseover(function) เหตุการณ์เมื่อมีการเลื่อนเมาส์มาบนอิลิเมนต์ ที่เลือก
ตัวอย่างของ Event function
jQuery Effects
• เช่น การซ่อน(hide) , แสดง(show) , สลับ(toggle) , จาง
หาย(fade) และเคลื่อนไหว(animate) เป็นต้น
jQuery Hide and Show
• ในการซ่อนหรือแสดงอิลิเมนต์ใช้เมธอด hide() และ
show() ตามลาดับ
• รูปแบบ
$(selector).hide(speed,callback)
$(selector).show(speed,callback)
โดย speed อาจกาหนดเป็น “slow” , “fast” , “normal” หรือเป็นมิลลิวินาที ก็ได้
callback คือ ฟังก์ชันที่จะให้ทางานหลังจากซ่อน หรือ แสดง อิลิเมนต์แล้ว
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#hide").click(function(){
$("p").hide();
});
$("#show").click(function(){
$("p").show();
});
});
</script>
</head>
<body>
<p>If you click on the "Hide" button, I will disappear.</p>
<button id="hide">Hide</button>
<button id="show">Show</button>
</body>
</html>
ตัวอย่างการใช้ hide() และ show()
jQuery Toggle
• ใช้สาหรับสลับการแสดงผลของHTML element ให้ซ่อน
หรือแสดง
• แสดงอิลิเมนต์ที่ถูกซ่อนอยู่ หรือ ซ่อนอิลิเมนต์ที่แสดงอยู่
• รูปแบบ
$(selector).toggle(speed,callback)
โดย speed อาจกาหนดเป็น “slow” , “fast” , “normal” หรือเป็นมิลลิวินาที ก็ได้
callback คือ ฟังก์ชันที่จะให้ทางานหลังจากซ่อน หรือ แสดง อิลิเมนต์แล้ว
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("p").toggle();
});
});
</script>
</head>
<body>
<button>Toggle</button>
<p>This is a paragraph with little content.</p>
<p>This is another small paragraph.</p>
</body>
</html>
ตัวอย่างการใช้ toggle()
jQuery Slide
• ใช้สาหรับเปลี่ยนความสูงของอิลิเมนต์
• รูปแบบ
$(selector).slideDown (speed,callback)
$(selector).slideUp (speed,callback)
$(selector).slideToggle (speed,callback)
โดย speed อาจกาหนดเป็น “slow” , “fast” , “normal” หรือเป็นมิลลิวินาที ก็ได้
callback คือ ฟังก์ชันที่จะให้ทางานหลังจากซ่อน หรือ แสดง อิลิเมนต์แล้ว
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".flip").click(function(){
$(".panel").slideDown("slow");
});
});
</script>
<style type="text/css">
div.panel,p.flip
{
margin:0px;
padding:5px;
text-align:center;
background:#e5eecc;
border:solid 1px #c3c3c3;
}
div.panel
{
height:120px;
display:none;
}
</style>
</head>
ตัวอย่างการใช้ slideDown()
<body>
<div class="panel">
<p>ทอสดบการใช ้เมธอด slideDown.</p>
<p>jQuery เป็น JavaScript Library ที่เก็บรวบรวมฟังก์ชันต่าง ๆ ที่ทาให ้สามารพัฒนาเว็บ โดย
ช่วยให ้สามารถเขียนหรือเรียกใช ้JavaScript และ Ajax ให ้ง่ายขึ้น
</p>
</div>
<p class="flip">Show Panel</p>
</body>
</html>
ตัวอย่างการใช้ slideDown()
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".flip").click(function(){
$(".panel").slideUp("slow");
});
});
</script>
<style type="text/css">
div.panel,p.flip
{
margin:0px;
padding:5px;
text-align:center;
background:#e5eecc;
border:solid 1px #c3c3c3;
}
div.panel
{
height:120px;
}
</style>
</head>
ตัวอย่างการใช้ slideUp()
<body>
<div class="panel">
<p>ทอสดบการใช ้เมธอด slideDown.</p>
<p>jQuery เป็น JavaScript Library ที่เก็บรวบรวมฟังก์ชันต่าง ๆ ที่ทาให ้สามารพัฒนาเว็บ โดย
ช่วยให ้สามารถเขียนหรือเรียกใช ้JavaScript และ Ajax ให ้ง่ายขึ้น
</p>
</div>
<p class="flip">Hide Panel</p>
</body>
</html>
ตัวอย่างการใช้ slideUp()
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".flip").click(function(){
$(".panel").slideToggle("slow");
});
});
</script>
<style type="text/css">
div.panel,p.flip
{
margin:0px;
padding:5px;
text-align:center;
background:#e5eecc;
border:solid 1px #c3c3c3;
}
div.panel
{
height:120px;
display:none;
}
</style>
</head>
ตัวอย่างการใช้ slideToogle()
<body>
<div class="panel">
<p>ทอสดบการใช ้เมธอด slideDown.</p>
<p>jQuery เป็น JavaScript Library ที่เก็บรวบรวมฟังก์ชันต่าง ๆ ที่ทาให ้สามารพัฒนาเว็บ โดย
ช่วยให ้สามารถเขียนหรือเรียกใช ้JavaScript และ Ajax ให ้ง่ายขึ้น
</p>
</div>
<p class="flip">Show / Hide Panel</p>
</body>
</html>
ตัวอย่างการใช้ slideToggle()
jQuery Fade
• ใช้สาหรับเปลี่ยนความทึบของอิลิเมนต์ที่เลือก
• รูปแบบ
$(selector).fadeIn (speed,callback)
$(selector). fadeOut (speed,callback)
$(selector).fadeTo (speed,opacity ,callback)
โดย speed อาจกาหนดเป็น “slow” , “fast” , “normal” หรือเป็นมิลลิวินาที ก็ได้
callback คือ ฟังก์ชันที่จะให้ทางานหลังจากซ่อน หรือ แสดง อิลิเมนต์แล้ว
opacity คือพาริมเตอร์ที่กาหนดค่าทึบแสง
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("div").fadeTo("slow",0.25);
});
});
</script>
</head>
<body>
<div style="background:yellow;width:300px;height:300px">
<button>Click to Fade</button>
</div>
</body>
</html>
ตัวอย่างการใช้ fadeTo()
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("div").click(function(){
$(this).fadeOut(4000);
});
});
</script>
</head>
<body>
<div style="background:yellow;width:200px">CLICK ME AWAY!</div>
<p>ถ ้าคุณคลิกกล่องข ้างบน มันจะหายไป</p>
</body> </html>
ตัวอย่างการใช้ fadeOut()
jQuery Animate แบบกาหนดเอง
• ใช้สาหรับกาหนดการเคลื่อนไหวให้กับอิลิเมนต์ที่เลือก
• รูปแบบ
$(selector).animate ({params} , [duration] , [easing] ,
[callback])
โดย params ใช้กาหนดคุณสมบัติ CSS ที่จะให้เคลื่อนไหว
duration คือ ความเร็วในการเคลื่อนไหว มีค่าเป็น “slow” , “fast” , “normal”
หรือเป็นมิลลิวินาที
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("div").animate({height:300},"slow");
$("div").animate({width:300},"slow");
$("div").animate({height:100},"slow");
$("div").animate({width:100},"slow");
});
});
</script>
</head>
<body>
<button>Start Animation</button>
<br /><br />
<div
style="background:#98bf21;height:100px;width:100px;position:relative">
</div>
</body>
</html>
ตัวอย่างการใช้ animate()
jQuery Callback Function
• Callback Function จะทางานเมื่อการเคลื่อนไหวหรือเอฟ
เฟ็กซ์ปัจจุบันทางานเสร็จสมบูรณ์
• รูปแบบ$(selector).animate ({params} , [duration] , [easing] ,
[callback])
โดย params ใช้กาหนดคุณสมบัติ CSS ที่จะให้เคลื่อนไหว
duration คือ ความเร็วในการเคลื่อนไหว มีค่าเป็น “slow” , “fast” , “normal”
หรือเป็นมิลลิวินาที
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("p").hide(1000,function(){
alert("The paragraph is now hidden");
});
});
});
</script>
</head>
<body>
<button>Hide</button>
<p>This is a paragraph with little content.</p>
</body>
</html>
ตัวอย่างการใช้ hide() ที่มี callback function
jQuery AJAX
• jQuery AJAX ช่วยให้เราร้องขอ(request) เอกสาร txt
,html , xml หรือ JSON จากเซิร์ฟเวอร์ได้ ทั้งแบบ HTTP
GET และ HTTP POST
• รูปแบบ
Request Description
$(selector).load(url,data,callback) โหลดข้อมูลจากเซิร์ฟเวอร์ ใส่ลงในอิลิเมนต์ที่
เลือก
$.ajax(options) โหลดข้อมูลจากเซิร์ฟเวอร์ ใส่ลงในออบเจ็กต์
XMLHttpRequest
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("div").load('test1.php');
});
});
</script>
</head>
<body>
<div><h2>Let AJAX change this text</h2></div>
<button>Change Content</button>
</body>
</html>
ตัวอย่างการใช้ load()
<?php
header("content-type: application/x-javascript; charset=TIS-620");
echo "ทดสอบ";
?>
test1.php
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$.ajax({url:"test1.txt", success:function(result){
$("div").html(result);
}});
});
});
</script>
</head>
<body>
<div><h2>Let AJAX change this text</h2></div>
<button>Change Content</button>
</body>
</html>
ตัวอย่างการใช้ ajax()
ตัวอย่าง 1
ทาเมนูแบบลูกตาปลา
• 1. สร้างไฟล์ fisheyes_menu.html
• 2. เขียนคาสั่ง JavaScript ในส่วนแท็ก <head>
<script type="text/javascript" src="jquery/jquery-1.6.2.js"></script>
<script type="text/javascript">
$(function(){
$("ul#eyefish li a img").hover(function(){ /* เงื่อนไขเมื่อเอาเมาส์เคลื่อนอยู่เหนือรูปภาพ*/
$(this).animate({
width:120,
height:100
},300);
},function(){ /* เงื่อนไขเมื่อเอาเมาส์เคลื่อนอยู่ออกจากรูปภาพ*/
$(this).animate({ /* กาหนดการเคลื่อนไหวด ้วยการลดขนาดความกว ้างและความสูงของรูป
ใช ้เวลาหน่วง 0.300 วินาที*/
width:85,
height:71
},300);
});
});
</script>
ทาเมนูแบบลูกตาปลา
• 3. เขียนคาสั่งกาหนด css
<style type="text/css">
img{/* กาหนดขอบให ้กับ รูปภาพ*/
border:0;
}
ul#eyefish{ /* กาหนดขอบเขตของเมนู */
margin:0;padding:0;
margin-left:100px;
display:block;
height:100px;
}
ul#eyefish li{ /* กาหนด css ให ้กับ list รายการเมนู*/
list-style:none outside;
float:left;
}
ul#eyefish li a img{ /* กาหนดขนาดเริ่มต ้นให ้กับรูปภาพ */
width:85px;
height:71px;
}
</style>
ทาเมนูแบบลูกตาปลา
• 4. เขียนคาสั่ง HTML แสดงรูปเมนู
<body>
<ul id="eyefish">
<li><a href="#"><img src="images/calendar.png" /></a></li>
<li><a href="#"><img src="images/email.png" /></a></li>
<li><a href="#"><img src="images/history.png" /></a></li>
<li><a href="#"><img src="images/home.png" /></a></li>
<li><a href="#"><img src="images/music.png" /></a></li>
<li><a href="#"><img src="images/portfolio.png" /></a></li>
<li><a href="#"><img src="images/video.png" /></a></li>
</ul>
</body>
**รูปภาพอยู่ในโฟลเดอร์ images
ตัวอย่าง 2
ส่งข้อมูลผ่านฟอร์มแบบ post แบบ AJAX
• 1. สร้างไฟล์ post.html
• 2. เขียนคาสั่ง HTML สร้างฟอร์มสาหรับส่งข้อมูลในส่วน body
<body>
<form id="form1" name="form1" method="post" action="">
<p>ชื่อ
<input type="text" name="name" id="name" />
<br />
อีเมลล์
<input type="text" name="email" id="email" />
<br />
<input type="button" name="Send" id="Send" value="Send" />
</p>
</form>
</body>
ส่งข้อมูลผ่านฟอร์มแบบ post แบบ AJAX
• 3. เขียนคาสั่ง JavaScript เพื่อส่งข้อมูลแบบ AJAX
<script type="text/javascript" src="jquery/jquery-1.6.2.js"></script>
<script type="text/javascript">
$(function(){
$("input#Send").click(function(){
var url="test.php"; // ไฟล์ที่ต ้องการรับค ้า
var dataSet={ name: $("input#name").val(), email:
$("input#email").val() }; // กาหนดชื่อและค่าที่ต ้องการส่ง
$.post(url,dataSet,function(data){
alert(data);
});
});
});
</script>
ส่งข้อมูลผ่านฟอร์มแบบ post แบบ AJAX
• 4. สร้างไฟล์ php ชื่อ test.php เพื่อรับข้อมูลที่ส่งมา
<?php
if(isset($_POST['name']) && $_POST['name']!=""){
echo "ข ้อมูลที่ได ้รับคือ : ".$_POST['name'] ." และ ".$_POST['email'];
}
?>
** ภาษาไทยอาจจะมีปัญหา ไม่แสดงผล
ส่งข้อมูลผ่านฟอร์มแบบ post แบบ AJAX
• 5. เพิ่มฟังก์ชันในการแปลงข้อมูลภาษาไทย สาหรับ php ในtest.php
<?php
function js_thai_encode($data)
{ // ฟังก์ชันเข ้ารหัสภาษาไทย
if (is_array($data))
{
foreach($data as $a => $b)
{
if (is_array($data[$a]))
{$data[$a] = js_thai_encode($data[$a]); }
else
{$data[$a] = iconv("tis-620","utf-8",$b); }
}
}
else
{ $data =iconv("tis-620","utf-8",$data); }
return $data;
}?>
ส่งข้อมูลผ่านฟอร์มแบบ post แบบ AJAX
• 6. แก้ไขคาสั่งในการรับและแสดงข้อความ
<?php
if(isset($_POST['name']) && $_POST['name']!=""){
$data = "ข ้อมูลที่ได ้รับคือ : ".$_POST['name'] ." และ ".$_POST['email'];
//เรียกใช ้งานฟังก์ชัน js_thai_encode
echo js_thai_encode($data) ;
}
?>

More Related Content

PPT
سوسيولوجيا-المؤسسة-التعليمية-وتفاعلها-مع-المحيط.ppt
PDF
الإدارة التربوية المكونات والمهام.pdf
PDF
قانون المسطرة الجنائية
PDF
مقدمة عن التصيميم التعليمي
PPTX
حول مشروع المؤسسة.pptx
PPTX
Champ conceptuel
DOCX
استبانه عن نظافه المدرسه
PPTX
التدريس الفعال في المدرسة المغربية (اعتماد مقاربة التعليم الصريح)
سوسيولوجيا-المؤسسة-التعليمية-وتفاعلها-مع-المحيط.ppt
الإدارة التربوية المكونات والمهام.pdf
قانون المسطرة الجنائية
مقدمة عن التصيميم التعليمي
حول مشروع المؤسسة.pptx
Champ conceptuel
استبانه عن نظافه المدرسه
التدريس الفعال في المدرسة المغربية (اعتماد مقاربة التعليم الصريح)

What's hot (20)

DOC
الخطة جديد
PPT
تصميم التدريس
PPT
محاضرات تحليل احصائي Spss
PPT
التدريس الابداعي 1
PPT
تطوير المناهج وأسس تنظيمها8
PPTX
دراسة الوضع: تحليل المتعلمين
PPSX
Affective domain(المجال الوجدانى )
PDF
التعلم وشروطه
PPT
أخلاقيات البحث العلمى
PDF
اتجاهات معاصرة في تطوير المناهج
PDF
تنمية الدافعية لرفع المستوى التحصيلي للطالبات.pdf
PDF
STATISTIQUE-Cours
PPTX
المدرسة المعرفية
PPTX
From International Science Parks to Technology Transfer Offices in Egypt.
PPSX
محاضرة نماذج تصميم المنهج
PPSX
التعليم الالكتروني
DOCX
منهجية مقترحة لإعداد تقرير تربص ميداني (1)
PDF
Gestion année 2014 2015
PDF
بحث بعنوان نظرية_معالجة_المعلومات_
PDF
تمارين القوانين الاحصائية امحاميد
الخطة جديد
تصميم التدريس
محاضرات تحليل احصائي Spss
التدريس الابداعي 1
تطوير المناهج وأسس تنظيمها8
دراسة الوضع: تحليل المتعلمين
Affective domain(المجال الوجدانى )
التعلم وشروطه
أخلاقيات البحث العلمى
اتجاهات معاصرة في تطوير المناهج
تنمية الدافعية لرفع المستوى التحصيلي للطالبات.pdf
STATISTIQUE-Cours
المدرسة المعرفية
From International Science Parks to Technology Transfer Offices in Egypt.
محاضرة نماذج تصميم المنهج
التعليم الالكتروني
منهجية مقترحة لإعداد تقرير تربص ميداني (1)
Gestion année 2014 2015
بحث بعنوان نظرية_معالجة_المعلومات_
تمارين القوانين الاحصائية امحاميد
Ad

Similar to Jquery-Begining (8)

PDF
การสร้างเว็บด้วย Bootstrap framework
PDF
เขียนเว็บไซต์ด้วย Html 5
PDF
Java script 1
PDF
Workshop Advance CSS3 animation
PDF
Serverless solution
PDF
Javacentrix com chap11-2
PDF
Jaxb part 2
PDF
Jaxb part 2
การสร้างเว็บด้วย Bootstrap framework
เขียนเว็บไซต์ด้วย Html 5
Java script 1
Workshop Advance CSS3 animation
Serverless solution
Javacentrix com chap11-2
Jaxb part 2
Jaxb part 2
Ad

More from Attaporn Ninsuwan (20)

PDF
J query fundamentals
PDF
Jquery enlightenment
PDF
Br ainfocom94
PDF
Chapter 12 - Computer Forensics
PDF
Techniques for data hiding p
PDF
Stop badware infected_sites_report_062408
PDF
Steganography past-present-future 552
PDF
Ch03-Computer Security
PDF
Ch02-Computer Security
PDF
Ch01-Computer Security
PDF
Ch8-Computer Security
PDF
Ch7-Computer Security
PDF
Ch6-Computer Security
PDF
Ch06b-Computer Security
PDF
Ch5-Computer Security
PDF
Ch04-Computer Security
PDF
Chapter5 - The Discrete-Time Fourier Transform
PDF
Chapter4 - The Continuous-Time Fourier Transform
PDF
Chapter3 - Fourier Series Representation of Periodic Signals
PDF
Chapter2 - Linear Time-Invariant System
J query fundamentals
Jquery enlightenment
Br ainfocom94
Chapter 12 - Computer Forensics
Techniques for data hiding p
Stop badware infected_sites_report_062408
Steganography past-present-future 552
Ch03-Computer Security
Ch02-Computer Security
Ch01-Computer Security
Ch8-Computer Security
Ch7-Computer Security
Ch6-Computer Security
Ch06b-Computer Security
Ch5-Computer Security
Ch04-Computer Security
Chapter5 - The Discrete-Time Fourier Transform
Chapter4 - The Continuous-Time Fourier Transform
Chapter3 - Fourier Series Representation of Periodic Signals
Chapter2 - Linear Time-Invariant System

Jquery-Begining

  • 2. jQuery คืออะไร • jQuery เป็น JavaScript Library ที่เก็บรวบรวม ฟังก์ชันต่าง ๆ ที่ทาให้สามารพัฒนาเว็บ โดยช่วยให้ สามารถเขียนหรือเรียกใช้ JavaScript และ Ajax ให้ ง่ายขึ้น • jQuery เปิดตัวครั้งแรกในงานบาร์แคมป์นิวยอร์ก โดย จอห์น เรซิก (John Resig) เมื่อ 14 มกราคม พ.ศ. 2549
  • 3. What You Should Already Know • ก่อนจะเริ่มศึกษา jQuery ควรมีความรู้พื้นฐานในเรื่อง ต่อไปนี้มาก่อน • HTML • CSS • JavaScript
  • 4. การเพิ่ม jQuery library ในหน้าเว็บเพจ • jQuery library จะเก็บอยู่ในไฟล์ .js เหมือนกับไฟล์ของ โค้ด JavaScript ซึ่งในไฟล์ดังกล่าวจะเก็บเมธอดทั้งหมด ของ jQuery • รูปแบบการเพิ่มไลบรารีในหน้าเว็บเพจ <head> <script type="text/javascript" src="jquery.js"></script> < /head> ****แท็ก <script> จะต้องแทรกอยู่ภายในแท็ก <head>
  • 5. jQuery Syntax • jQuery ออกแบบมาให้เลือก HTML element และ กาหนด action ให้กับอิลิเมนต์นั้น • รูปแบบ syntax $(selector).action() โดย dollar sign ใช้เพื่อกาหนด jQuery selector คือส่วนที่เลือก เช่น element , css action() คือ เมธอดที่ใช้กาหนดการทางานให้กับ selector
  • 6. jQuery Syntax (ต่อ) ตัวอย่าง • $(this).hide() - ซ่อนอิลิเมนต์ปัจจุบัน • $("p").hide() – ซ่อนทุก paragraph • $("p.test").hide() - ซ่อนทุก paragraph ที่มี class="test" • $("#test").hide() – ซ่อนอิลิเมนต์ที่มีค่า id="test"
  • 7. jQuery Selector • jQuery Selector ช่วยให้เราสามารถเลือก HTML element (หรือกลุ่มของ element) โดยใช้ ชื่ออิลิเมนต์ (element name) , ชื่อแอททริบิวต์ (attribute name) หรือ โดยเนื้อหา
  • 8. jQuery Element Selector jQuery ใช้ CSS selector ในการเลือก HTML element • ตัวอย่าง • $("p") - เลือก แท็ก <p> ทั้งหมด • $("p.intro") - เลือก ทุกแท็ก <p> ที่มี class="intro" • $("p#demo") – เลือกทุกแท็ก <p> ที่มี id="demo"
  • 9. jQuery Attribute Selector jQuery ใช้นิพจน์ xPathในการเลือก HTML elementและ Attribute • ตัวอย่าง • $("[href]") - เลือกทุกอิลิเมนต์ที่มีแอททริบิวต์ href • $("[href='#']") – เลือกทุกอิลิเมนต์ที่แอททริบิวต์ href มีค่าเท่ากับ # • $("[href!='#']") – เลือกทุกอิลิเมนต์ที่มีแอททริบิวต์ href มีค่าไม่ เท่ากับ # • $("[href$='.jpg']") – เลือกทุกอิลิเมนต์ที่แอททริบิวต์ href ลงท้าย ด้วย .jpg
  • 10. jQuery CSS Selector jQuery CSS selector สามารถใช้เพื่อแก้ไขคุณสมบัติ CSS ของ HTML element • ตัวอย่าง • $("p").css("background-color","yellow");
  • 11. ตัวอย่างเพิ่มเติมสาหรับ jQuey Selectors Syntax คาอธิบาย $(this) อิลิเมนต์ HTML ปัจจุบัน $("p") แท็ก <p> ทุกแท็ก $("p.intro") แท็ก <p> ทุกแท็ก ที่มี class="intro" $("p#intro") แท็ก <p> ทุกแท็ก ที่มี id="intro" $("p#intro:first") แท็ก <p> แท็กแรก ที่มี id="intro" $(".intro") ทุกแท็กที่มี class="intro" $("#intro") แท็กแรกที่มี id="intro" $("ul li:first") แท็ก <li> แท็กแรกของแต่ละแท็ก <ul> $("[href$='.jpg']") ทุกแท็กที่มีแอททริบิวต์ href ที่มีค่าลงท้ายด้วย .jpg $("div#intro .head") ทุกแท็ก ที่มี class="head" อยู่ภายในแท็ก <div> ที่มี id="intro"
  • 12. jQuery Event Functions • การจัดการเหตุการณ์(Event handler ) คือ เมธอดที่ถูก เรียก เมื่อเกิดเหตุการณ์นั้นขึ้นกับอิลิเมนต์
  • 13. <html> <head> <script type="text/javascript" src="jquery.js“></script> <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $("p").hide(); }); }); </script> </head> <body> <h2>This is a heading</h2> <p>This is a paragraph.</p> <p>This is another paragraph.</p> <button>Click me</button> </body> </html> ถ้ามีเหตุการณ์คลิกที่อิลิ เมนต์ button ให้ซ่อน แท็ก <p> ทั้งหมด
  • 14. Document Ready Function • รูปแบบ • ใช้เพื่อป้องกันว่าโค้ดของ jQuery จะทางานเสร็จก่อนที่เอกสารจะโหลดเสร็จ • ตัวอย่าง action ที่อาจจะล้มเหลวหากว่าฟังก์ชันรันก่อนที่เอกสารจะโหลด เสร็จ ได้แก่ – พยายามซ่อนอิลิเมนต์ที่ไม่เคยมีมาก่อน – พยายามอ่านขนาดของ image ที่ยังไม่ได้โหลด $(document).ready(function(){ // เขียนฟังก์ชัน ของ jQuery บริเวณนี้ });
  • 15. jQuery Event Functions (ต่อ) Event Method Description $(document).ready(function) เหตุการณ์เมื่อ document โหลดเสร็จแล้ว $(selector).click(function) เหตุการณ์เมื่อมีการคลิกที่อิลิเมนต์ ที่เลือก $(selector).dblclick(function) เหตุการณ์เมื่อมีการดับเบิ้ลคลิกที่อิลิเมนต์ ที่เลือก $(selector).focus(function) เหตุการณ์เมื่อมีโฟกัสที่อิลิเมนต์ ที่เลือก $(selector).mouseover(function) เหตุการณ์เมื่อมีการเลื่อนเมาส์มาบนอิลิเมนต์ ที่เลือก ตัวอย่างของ Event function
  • 16. jQuery Effects • เช่น การซ่อน(hide) , แสดง(show) , สลับ(toggle) , จาง หาย(fade) และเคลื่อนไหว(animate) เป็นต้น
  • 17. jQuery Hide and Show • ในการซ่อนหรือแสดงอิลิเมนต์ใช้เมธอด hide() และ show() ตามลาดับ • รูปแบบ $(selector).hide(speed,callback) $(selector).show(speed,callback) โดย speed อาจกาหนดเป็น “slow” , “fast” , “normal” หรือเป็นมิลลิวินาที ก็ได้ callback คือ ฟังก์ชันที่จะให้ทางานหลังจากซ่อน หรือ แสดง อิลิเมนต์แล้ว
  • 18. <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#hide").click(function(){ $("p").hide(); }); $("#show").click(function(){ $("p").show(); }); }); </script> </head> <body> <p>If you click on the "Hide" button, I will disappear.</p> <button id="hide">Hide</button> <button id="show">Show</button> </body> </html> ตัวอย่างการใช้ hide() และ show()
  • 19. jQuery Toggle • ใช้สาหรับสลับการแสดงผลของHTML element ให้ซ่อน หรือแสดง • แสดงอิลิเมนต์ที่ถูกซ่อนอยู่ หรือ ซ่อนอิลิเมนต์ที่แสดงอยู่ • รูปแบบ $(selector).toggle(speed,callback) โดย speed อาจกาหนดเป็น “slow” , “fast” , “normal” หรือเป็นมิลลิวินาที ก็ได้ callback คือ ฟังก์ชันที่จะให้ทางานหลังจากซ่อน หรือ แสดง อิลิเมนต์แล้ว
  • 20. <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $("p").toggle(); }); }); </script> </head> <body> <button>Toggle</button> <p>This is a paragraph with little content.</p> <p>This is another small paragraph.</p> </body> </html> ตัวอย่างการใช้ toggle()
  • 21. jQuery Slide • ใช้สาหรับเปลี่ยนความสูงของอิลิเมนต์ • รูปแบบ $(selector).slideDown (speed,callback) $(selector).slideUp (speed,callback) $(selector).slideToggle (speed,callback) โดย speed อาจกาหนดเป็น “slow” , “fast” , “normal” หรือเป็นมิลลิวินาที ก็ได้ callback คือ ฟังก์ชันที่จะให้ทางานหลังจากซ่อน หรือ แสดง อิลิเมนต์แล้ว
  • 22. <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $(".flip").click(function(){ $(".panel").slideDown("slow"); }); }); </script> <style type="text/css"> div.panel,p.flip { margin:0px; padding:5px; text-align:center; background:#e5eecc; border:solid 1px #c3c3c3; } div.panel { height:120px; display:none; } </style> </head> ตัวอย่างการใช้ slideDown()
  • 23. <body> <div class="panel"> <p>ทอสดบการใช ้เมธอด slideDown.</p> <p>jQuery เป็น JavaScript Library ที่เก็บรวบรวมฟังก์ชันต่าง ๆ ที่ทาให ้สามารพัฒนาเว็บ โดย ช่วยให ้สามารถเขียนหรือเรียกใช ้JavaScript และ Ajax ให ้ง่ายขึ้น </p> </div> <p class="flip">Show Panel</p> </body> </html> ตัวอย่างการใช้ slideDown()
  • 24. <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $(".flip").click(function(){ $(".panel").slideUp("slow"); }); }); </script> <style type="text/css"> div.panel,p.flip { margin:0px; padding:5px; text-align:center; background:#e5eecc; border:solid 1px #c3c3c3; } div.panel { height:120px; } </style> </head> ตัวอย่างการใช้ slideUp()
  • 25. <body> <div class="panel"> <p>ทอสดบการใช ้เมธอด slideDown.</p> <p>jQuery เป็น JavaScript Library ที่เก็บรวบรวมฟังก์ชันต่าง ๆ ที่ทาให ้สามารพัฒนาเว็บ โดย ช่วยให ้สามารถเขียนหรือเรียกใช ้JavaScript และ Ajax ให ้ง่ายขึ้น </p> </div> <p class="flip">Hide Panel</p> </body> </html> ตัวอย่างการใช้ slideUp()
  • 26. <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $(".flip").click(function(){ $(".panel").slideToggle("slow"); }); }); </script> <style type="text/css"> div.panel,p.flip { margin:0px; padding:5px; text-align:center; background:#e5eecc; border:solid 1px #c3c3c3; } div.panel { height:120px; display:none; } </style> </head> ตัวอย่างการใช้ slideToogle()
  • 27. <body> <div class="panel"> <p>ทอสดบการใช ้เมธอด slideDown.</p> <p>jQuery เป็น JavaScript Library ที่เก็บรวบรวมฟังก์ชันต่าง ๆ ที่ทาให ้สามารพัฒนาเว็บ โดย ช่วยให ้สามารถเขียนหรือเรียกใช ้JavaScript และ Ajax ให ้ง่ายขึ้น </p> </div> <p class="flip">Show / Hide Panel</p> </body> </html> ตัวอย่างการใช้ slideToggle()
  • 28. jQuery Fade • ใช้สาหรับเปลี่ยนความทึบของอิลิเมนต์ที่เลือก • รูปแบบ $(selector).fadeIn (speed,callback) $(selector). fadeOut (speed,callback) $(selector).fadeTo (speed,opacity ,callback) โดย speed อาจกาหนดเป็น “slow” , “fast” , “normal” หรือเป็นมิลลิวินาที ก็ได้ callback คือ ฟังก์ชันที่จะให้ทางานหลังจากซ่อน หรือ แสดง อิลิเมนต์แล้ว opacity คือพาริมเตอร์ที่กาหนดค่าทึบแสง
  • 29. <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $("div").fadeTo("slow",0.25); }); }); </script> </head> <body> <div style="background:yellow;width:300px;height:300px"> <button>Click to Fade</button> </div> </body> </html> ตัวอย่างการใช้ fadeTo()
  • 30. <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("div").click(function(){ $(this).fadeOut(4000); }); }); </script> </head> <body> <div style="background:yellow;width:200px">CLICK ME AWAY!</div> <p>ถ ้าคุณคลิกกล่องข ้างบน มันจะหายไป</p> </body> </html> ตัวอย่างการใช้ fadeOut()
  • 31. jQuery Animate แบบกาหนดเอง • ใช้สาหรับกาหนดการเคลื่อนไหวให้กับอิลิเมนต์ที่เลือก • รูปแบบ $(selector).animate ({params} , [duration] , [easing] , [callback]) โดย params ใช้กาหนดคุณสมบัติ CSS ที่จะให้เคลื่อนไหว duration คือ ความเร็วในการเคลื่อนไหว มีค่าเป็น “slow” , “fast” , “normal” หรือเป็นมิลลิวินาที
  • 32. <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $("div").animate({height:300},"slow"); $("div").animate({width:300},"slow"); $("div").animate({height:100},"slow"); $("div").animate({width:100},"slow"); }); }); </script> </head> <body> <button>Start Animation</button> <br /><br /> <div style="background:#98bf21;height:100px;width:100px;position:relative"> </div> </body> </html> ตัวอย่างการใช้ animate()
  • 33. jQuery Callback Function • Callback Function จะทางานเมื่อการเคลื่อนไหวหรือเอฟ เฟ็กซ์ปัจจุบันทางานเสร็จสมบูรณ์ • รูปแบบ$(selector).animate ({params} , [duration] , [easing] , [callback]) โดย params ใช้กาหนดคุณสมบัติ CSS ที่จะให้เคลื่อนไหว duration คือ ความเร็วในการเคลื่อนไหว มีค่าเป็น “slow” , “fast” , “normal” หรือเป็นมิลลิวินาที
  • 34. <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $("p").hide(1000,function(){ alert("The paragraph is now hidden"); }); }); }); </script> </head> <body> <button>Hide</button> <p>This is a paragraph with little content.</p> </body> </html> ตัวอย่างการใช้ hide() ที่มี callback function
  • 35. jQuery AJAX • jQuery AJAX ช่วยให้เราร้องขอ(request) เอกสาร txt ,html , xml หรือ JSON จากเซิร์ฟเวอร์ได้ ทั้งแบบ HTTP GET และ HTTP POST • รูปแบบ Request Description $(selector).load(url,data,callback) โหลดข้อมูลจากเซิร์ฟเวอร์ ใส่ลงในอิลิเมนต์ที่ เลือก $.ajax(options) โหลดข้อมูลจากเซิร์ฟเวอร์ ใส่ลงในออบเจ็กต์ XMLHttpRequest
  • 36. <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $("div").load('test1.php'); }); }); </script> </head> <body> <div><h2>Let AJAX change this text</h2></div> <button>Change Content</button> </body> </html> ตัวอย่างการใช้ load() <?php header("content-type: application/x-javascript; charset=TIS-620"); echo "ทดสอบ"; ?> test1.php
  • 37. <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $.ajax({url:"test1.txt", success:function(result){ $("div").html(result); }}); }); }); </script> </head> <body> <div><h2>Let AJAX change this text</h2></div> <button>Change Content</button> </body> </html> ตัวอย่างการใช้ ajax()
  • 39. ทาเมนูแบบลูกตาปลา • 1. สร้างไฟล์ fisheyes_menu.html • 2. เขียนคาสั่ง JavaScript ในส่วนแท็ก <head> <script type="text/javascript" src="jquery/jquery-1.6.2.js"></script> <script type="text/javascript"> $(function(){ $("ul#eyefish li a img").hover(function(){ /* เงื่อนไขเมื่อเอาเมาส์เคลื่อนอยู่เหนือรูปภาพ*/ $(this).animate({ width:120, height:100 },300); },function(){ /* เงื่อนไขเมื่อเอาเมาส์เคลื่อนอยู่ออกจากรูปภาพ*/ $(this).animate({ /* กาหนดการเคลื่อนไหวด ้วยการลดขนาดความกว ้างและความสูงของรูป ใช ้เวลาหน่วง 0.300 วินาที*/ width:85, height:71 },300); }); }); </script>
  • 40. ทาเมนูแบบลูกตาปลา • 3. เขียนคาสั่งกาหนด css <style type="text/css"> img{/* กาหนดขอบให ้กับ รูปภาพ*/ border:0; } ul#eyefish{ /* กาหนดขอบเขตของเมนู */ margin:0;padding:0; margin-left:100px; display:block; height:100px; } ul#eyefish li{ /* กาหนด css ให ้กับ list รายการเมนู*/ list-style:none outside; float:left; } ul#eyefish li a img{ /* กาหนดขนาดเริ่มต ้นให ้กับรูปภาพ */ width:85px; height:71px; } </style>
  • 41. ทาเมนูแบบลูกตาปลา • 4. เขียนคาสั่ง HTML แสดงรูปเมนู <body> <ul id="eyefish"> <li><a href="#"><img src="images/calendar.png" /></a></li> <li><a href="#"><img src="images/email.png" /></a></li> <li><a href="#"><img src="images/history.png" /></a></li> <li><a href="#"><img src="images/home.png" /></a></li> <li><a href="#"><img src="images/music.png" /></a></li> <li><a href="#"><img src="images/portfolio.png" /></a></li> <li><a href="#"><img src="images/video.png" /></a></li> </ul> </body> **รูปภาพอยู่ในโฟลเดอร์ images
  • 43. ส่งข้อมูลผ่านฟอร์มแบบ post แบบ AJAX • 1. สร้างไฟล์ post.html • 2. เขียนคาสั่ง HTML สร้างฟอร์มสาหรับส่งข้อมูลในส่วน body <body> <form id="form1" name="form1" method="post" action=""> <p>ชื่อ <input type="text" name="name" id="name" /> <br /> อีเมลล์ <input type="text" name="email" id="email" /> <br /> <input type="button" name="Send" id="Send" value="Send" /> </p> </form> </body>
  • 44. ส่งข้อมูลผ่านฟอร์มแบบ post แบบ AJAX • 3. เขียนคาสั่ง JavaScript เพื่อส่งข้อมูลแบบ AJAX <script type="text/javascript" src="jquery/jquery-1.6.2.js"></script> <script type="text/javascript"> $(function(){ $("input#Send").click(function(){ var url="test.php"; // ไฟล์ที่ต ้องการรับค ้า var dataSet={ name: $("input#name").val(), email: $("input#email").val() }; // กาหนดชื่อและค่าที่ต ้องการส่ง $.post(url,dataSet,function(data){ alert(data); }); }); }); </script>
  • 45. ส่งข้อมูลผ่านฟอร์มแบบ post แบบ AJAX • 4. สร้างไฟล์ php ชื่อ test.php เพื่อรับข้อมูลที่ส่งมา <?php if(isset($_POST['name']) && $_POST['name']!=""){ echo "ข ้อมูลที่ได ้รับคือ : ".$_POST['name'] ." และ ".$_POST['email']; } ?> ** ภาษาไทยอาจจะมีปัญหา ไม่แสดงผล
  • 46. ส่งข้อมูลผ่านฟอร์มแบบ post แบบ AJAX • 5. เพิ่มฟังก์ชันในการแปลงข้อมูลภาษาไทย สาหรับ php ในtest.php <?php function js_thai_encode($data) { // ฟังก์ชันเข ้ารหัสภาษาไทย if (is_array($data)) { foreach($data as $a => $b) { if (is_array($data[$a])) {$data[$a] = js_thai_encode($data[$a]); } else {$data[$a] = iconv("tis-620","utf-8",$b); } } } else { $data =iconv("tis-620","utf-8",$data); } return $data; }?>
  • 47. ส่งข้อมูลผ่านฟอร์มแบบ post แบบ AJAX • 6. แก้ไขคาสั่งในการรับและแสดงข้อความ <?php if(isset($_POST['name']) && $_POST['name']!=""){ $data = "ข ้อมูลที่ได ้รับคือ : ".$_POST['name'] ." และ ".$_POST['email']; //เรียกใช ้งานฟังก์ชัน js_thai_encode echo js_thai_encode($data) ; } ?>