ทำกรอบแสดงข้อความเลื่อนตาม SCROLLBAR เลือกให้ปิดไปได้
บทความนี้การทำ Java Script ที่ทำให้กรอบข้อความเลื่อนตาม SCROLLBAR ได้ครับและสามารถที่จะปิดกรอบข้อความได้ด้วยครับ
ขั้นตอนการทำ
1. สร้างไฟล์ demo.html เพื่อใช้ในการทดสอบ Script นะครับ แล้ว copy code ด้านล่างนี้ เอาไว้ที่ tag <head> นะครับ
<!-- แก้ไขรูปแบบของกรอบข้อความได้ที่ด้านล่างนี้ครับ -->
<style type="text/css">
#topbar{
position:absolute;
border: 1px solid black;
padding: 2px;
background-color: lightyellow;
width: 150px;
visibility: hidden;
z-index: 100;
}
</style>
<!-- สิ้นสุดการแก้ไขรูปแบบของกรอบข้อความ -->
<script type="text/javascript">
var persistclose=0 // ให้ใส่เป็น 0 หรือไม่ก็ 1 (โดย 0 หมายถึง เมื่อกดปิดแล้ว กด REFRESH กรอบข้อความจะขึ้นมาอีก แต่ถ้า 1 กรอบข้อความจะไม่ขึ้นมาอีกแล้ว)
var startX = 10 // ตำแหน่งแสดงกรอบข้อความ นับจากด้านซ้าย
var startY = 10 // ตำแหน่งแสดงกรอบข้อความ นับจากด้านบน
function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}
function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}
var verticalpos="fromtop"
function closebar(){
if (persistclose)
document.cookie="remainclosed=1"
document.getElementById("topbar").style.visibility="hidden"
}
function staticbar(){
var ns = (navigator.appName.indexOf("Netscape") != -1);
var d = document;
function ml(id){
var el=d.getElementById(id);
if (!persistclose || persistclose && get_cookie("remainclosed")=="")
el.style.visibility="visible"
if(d.layers)el.style=el;
el.sP=function(x,y){this.style.left=x+"px";this.style.top=y+"px";};
el.x = startX;
if (verticalpos=="fromtop")
el.y = startY;
else{
el.y = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
el.y -= startY;
}
return el;
}
window.stayTopLeft=function(){
if (verticalpos=="fromtop"){
var pY = ns ? pageYOffset : iecompattest().scrollTop;
ftlObj.y += (pY + startY - ftlObj.y)/8;
}
else{
var pY = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
ftlObj.y += (pY - startY - ftlObj.y)/8;
}
ftlObj.sP(ftlObj.x, ftlObj.y);
setTimeout("stayTopLeft()", 10);
}
ftlObj = ml("topbar");
stayTopLeft();
}
if (window.addEventListener)
window.addEventListener("load", staticbar, false)
else if (window.attachEvent)
window.attachEvent("onload", staticbar)
else if (document.getElementById)
window.onload=staticbar
</script>
หลังจาก copy code มาวางไว้ที่ tag <head> แล้วนะครับ จะต้องเหมือนกับ code ด้านล่างนะครับ
<html>
<head>
<!-- แก้ไขรูปแบบของกรอบข้อความได้ที่ด้านล่างนี้ครับ -->
<style type="text/css">
#topbar{
position:absolute;
border: 1px solid black;
padding: 2px;
background-color: lightyellow;
width: 150px;
visibility: hidden;
z-index: 100;
}
</style>
<!-- สิ้นสุดการแก้ไขรูปแบบของกรอบข้อความ -->
<script type="text/javascript">
var persistclose=0 // ให้ใส่เป็น 0 หรือไม่ก็ 1 (โดย 0 หมายถึง เมื่อกดปิดแล้ว กด REFRESH กรอบข้อความจะขึ้นมาอีก แต่ถ้า 1 กรอบข้อความจะไม่ขึ้นมาอีกแล้ว)
var startX = 10 // ตำแหน่งแสดงกรอบข้อความ นับจากด้านซ้าย
var startY = 10 // ตำแหน่งแสดงกรอบข้อความ นับจากด้านบน
function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}
function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}
var verticalpos="fromtop"
function closebar(){
if (persistclose)
document.cookie="remainclosed=1"
document.getElementById("topbar").style.visibility="hidden"
}
function staticbar(){
var ns = (navigator.appName.indexOf("Netscape") != -1);
var d = document;
function ml(id){
var el=d.getElementById(id);
if (!persistclose || persistclose && get_cookie("remainclosed")=="")
el.style.visibility="visible"
if(d.layers)el.style=el;
el.sP=function(x,y){this.style.left=x+"px";this.style.top=y+"px";};
el.x = startX;
if (verticalpos=="fromtop")
el.y = startY;
else{
el.y = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
el.y -= startY;
}
return el;
}
window.stayTopLeft=function(){
if (verticalpos=="fromtop"){
var pY = ns ? pageYOffset : iecompattest().scrollTop;
ftlObj.y += (pY + startY - ftlObj.y)/8;
}
else{
var pY = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
ftlObj.y += (pY - startY - ftlObj.y)/8;
}
ftlObj.sP(ftlObj.x, ftlObj.y);
setTimeout("stayTopLeft()", 10);
}
ftlObj = ml("topbar");
stayTopLeft();
}
if (window.addEventListener)
window.addEventListener("load", staticbar, false)
else if (window.attachEvent)
window.attachEvent("onload", staticbar)
else if (document.getElementById)
window.onload=staticbar
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ทำกรอบแสดงข้อความเลื่อนตาม SCROLLBAR เลือกให้ปิดไปได้</title>
</head>
<body>
</body>
</html>
2. แล้ว Copy code นี้เอาไปไว้ที่ tag <body> นะครับ
<div id="topbar">
<a href="" onClick="closebar(); return false"><img src="winclose.gif" border="0" width="16" height="14" /></a>
<!-- ใส่ข้อความที่คุณต้องการลงไปด้านล่างนี้ได้เลยครับ -->
จะมีข้อความขึ้นตรงนี้ครับ อาจนำไปทำเป็นพื้นที่โฆษณาใน WEB คุณได้นะครับ
<!-- สิ้นสุดการใส่ข้อความ-->
</div>
หลังจาก copy code มาวางไว้ที่ tag <body> แล้วนะครับ จะต้องเหมือนกับ code ด้านล่างนะครับ
<html>
<head>
<!-- แก้ไขรูปแบบของกรอบข้อความได้ที่ด้านล่างนี้ครับ -->
<style type="text/css">
#topbar{
position:absolute;
border: 1px solid black;
padding: 2px;
background-color: lightyellow;
width: 150px;
visibility: hidden;
z-index: 100;
}
</style>
<!-- สิ้นสุดการแก้ไขรูปแบบของกรอบข้อความ -->
<script type="text/javascript">
var persistclose=0 // ให้ใส่เป็น 0 หรือไม่ก็ 1 (โดย 0 หมายถึง เมื่อกดปิดแล้ว กด REFRESH กรอบข้อความจะขึ้นมาอีก แต่ถ้า 1 กรอบข้อความจะไม่ขึ้นมาอีกแล้ว)
var startX = 10 // ตำแหน่งแสดงกรอบข้อความ นับจากด้านซ้าย
var startY = 10 // ตำแหน่งแสดงกรอบข้อความ นับจากด้านบน
function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}
function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}
var verticalpos="fromtop"
function closebar(){
if (persistclose)
document.cookie="remainclosed=1"
document.getElementById("topbar").style.visibility="hidden"
}
function staticbar(){
var ns = (navigator.appName.indexOf("Netscape") != -1);
var d = document;
function ml(id){
var el=d.getElementById(id);
if (!persistclose || persistclose && get_cookie("remainclosed")=="")
el.style.visibility="visible"
if(d.layers)el.style=el;
el.sP=function(x,y){this.style.left=x+"px";this.style.top=y+"px";};
el.x = startX;
if (verticalpos=="fromtop")
el.y = startY;
else{
el.y = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
el.y -= startY;
}
return el;
}
window.stayTopLeft=function(){
if (verticalpos=="fromtop"){
var pY = ns ? pageYOffset : iecompattest().scrollTop;
ftlObj.y += (pY + startY - ftlObj.y)/8;
}
else{
var pY = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
ftlObj.y += (pY - startY - ftlObj.y)/8;
}
ftlObj.sP(ftlObj.x, ftlObj.y);
setTimeout("stayTopLeft()", 10);
}
ftlObj = ml("topbar");
stayTopLeft();
}
if (window.addEventListener)
window.addEventListener("load", staticbar, false)
else if (window.attachEvent)
window.attachEvent("onload", staticbar)
else if (document.getElementById)
window.onload=staticbar
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ทำกรอบแสดงข้อความเลื่อนตาม SCROLLBAR เลือกให้ปิดไปได้</title>
</head> <body>
<div id="topbar">
<a href="" onClick="closebar(); return false"><img src="winclose.gif" border="0" width="16" height="14" /></a>
<!-- ใส่ข้อความที่คุณต้องการลงไปด้านล่างนี้ได้เลยครับ -->
จะมีข้อความขึ้นตรงนี้ครับ อาจนำไปทำเป็นพื้นที่โฆษณาใน WEB คุณได้นะครับ
<!-- สิ้นสุดการใส่ข้อความ-->
</div>
</body>
</html>
คลิกดูตัวอย่าง
ข้อมูลจาก : http://www.codetukyang.com/java/
|