เทคนิคการเขียน javascript ควบคุม css
เมื่อเราเขียน CSS มาจนถึงระดับหนึ่งแล้ว เราจะพบว่า CSS ก็คือการตกแต่งหน้าตาเว็บไซต์ ให้สวยงาม เป็นการแสดงผลเท่านั้น เหมือน HTML ไม่สามารถโต้ตอบกับผู้ใช้ได้เหมือน javacript , php หรือ asp เราจะทำอย่างไรหากต้องการให้ หน้าตาเว็บไซต์ ถูกกำหนดโดยผู้ใช้ เลือกสีกรอบได้ โดยการคลิกแล้วเปลี่ยนกรอบได้ ฟังดูน่าสนใจใช่มั้ยล่ะครับในกรณีนี้ เราจะใช้ จาวาสคริป เข้ามาช่วยควบคุม ลองมาดูตัวอย่าง การทำ TextBox เปลี่ยนสีโดยการคลิก ปุ่ม
เริ่มต้นเรามี HTML ดังนี้ (โดยจะมี Bootstrap เข้ามาช่วยในการตกแต่งนิดหน่อย)
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link href="dist/css/bootstrap.css" rel="stylesheet" /> <link href="dist/css/bootstrap.min.css" rel="stylesheet" /> <link href="dist/css/bootstrap-theme.css" rel="stylesheet" /> <link href="dist/css/bootstrap-theme.min.css" rel="stylesheet" /> <style type="text/css"> .block-2 { width: 100%; height: 120px; margin-top:100px; float: left; text-align:center; } </style> <title>Pancode Free.</title> </head> <body> <div class="block-2"> <div class="form-inline"> <input type="text" class="form-control" id="InputTxt" placeholder="Input Text"> <a href="javasript:void(0)" class="btn btn-default" >ปกติ</a> <a href="javasript:void(0)" class="btn btn-info" >ฟ้า</a> <a href="javasript:void(0)" class="btn btn-danger" >แดง</a> <a href="javasript:void(0)" class="btn btn-success" >เขียว</a> </div> </body> </html>
<style type="text/css"> .bgcolor1 { border-color:#00F; background-color:#0CF; } .bgcolor2 { border-color:#F00; background-color:#F9C; } .bgcolor3 { border-color:#0F0; background-color:#0F9; } </style>
และเขียน javascript เพื่อเพิ่ม style ให้กับ TextBox
<script type="text/jscript"> function checkTxtbox(n) { txt = document.getElementById('InputText'); txt.className = "form-control"; if(n==1) txt.className += " bgcolor1"; //เพิ่ม class bgcolor1 ถ้า n==1 else if(n==2) txt.className += " bgcolor2"; //เพิ่ม class bgcolor2 ถ้า n==2 else if(n==3) txt.className += " bgcolor3"; //เพิ่ม class bgcolor3 ถ้า n==3 else txt.className = txt.className; } </script>
เมื่อนำโค้ดทั้งหมดมาประกอบกันก็จะได้
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="dist/css/bootstrap.css" rel="stylesheet" />
<link href="dist/css/bootstrap.min.css" rel="stylesheet" />
<link href="dist/css/bootstrap-theme.css" rel="stylesheet" />
<link href="dist/css/bootstrap-theme.min.css" rel="stylesheet" />
<style type="text/css">
.block-2 {
width: 100%;
height: 120px;
margin-top:100px;
float: left;
text-align:center;
}
.bgcolor1 {
border-color:#00F;
background-color:#0CF;
}
.bgcolor2 {
border-color:#F00;
background-color:#F9C;
}
.bgcolor3 {
border-color:#0F0;
background-color:#0F9;
}
</style>
<script type="text/jscript">
function checkTxtbox(n) {
txt = document.getElementById('InputText');
txt.className = "form-control";
if(n==1)
txt.className += " bgcolor1"; //เพิ่ม class bgcolor1 ถ้า n==1
else if(n==2)
txt.className += " bgcolor2"; //เพิ่ม class bgcolor2 ถ้า n==2
else if(n==3)
txt.className += " bgcolor3"; //เพิ่ม class bgcolor3 ถ้า n==3
else
txt.className = txt.className;
}
</script>
<title>Pancode Free.</title>
</head>
<body>
<div class="block-2">
<div class="form-inline">
<input type="text" class="form-control" id="InputText" placeholder="Text Name">
<a href="javasript:void(0)" class="btn btn-default" onClick="checkTxtbox(0)">ปกติ</a>
<a href="javasript:void(0)" class="btn btn-info" onClick="checkTxtbox(1)">ฟ้า</a>
<a href="javasript:void(0)" class="btn btn-danger" onClick="checkTxtbox(2)">แดง</a>
<a href="javasript:void(0)" class="btn btn-success" onClick="checkTxtbox(3)">เขียว</a>
</div>
</div>
</body>
</html>
สมัครสมาชิก:
ส่งความคิดเห็น
(
Atom
)
ไม่มีความคิดเห็น :
แสดงความคิดเห็น