การทำกรอบข้อความเลื่อนตาม SCROLLBAR จัดทำโดย : เว็บไทยดีดี พิมพ์
 ทำกรอบแสดงข้อความเลื่อนตาม 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/

คุณอาจสนใจ
การเปลี่ยนมุมมองในหน้าเอกสาร (ไม่ยากอย่างที่คิด)
อ้อม (19,270 - 13 ม.ค. 50)
การ Render Animation 1
first (24,376 - 02 เม.ย. 51)
การทำตัวอักษร Blur
Mr.GuruZ (78,752 - 04 มิ.ย. 49)
การโหลดรูปภาพจาก Folder ภายนอกมาใช้กับ Flash
Charoen (48,424 - 18 ส.ค. 50)
เร่งไอคอนใน XP ให้โผล่เร็วกว่าเดิม
เว็บไทยดีดี (14,069 - 29 ก.ย. 50)
เทคนิคการใส่ข้อความใน TextBox โดยใช้ PHP
Mr.GuruZ (44,188 - 03 มิ.ย. 49)
โครงสร้างและการใช้งาน Method
Mr.POP (58,383 - 05 พ.ย. 49)
ทดลองเขียนโปรแกรมสร้าง Thread (Visual C++)
langjuko (26,807 - 16 ก.ย. 51)