การทำกรอบข้อความเลื่อนตาม 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/

คุณอาจสนใจ
หลักการทำ Random Code แบบง่ายๆ
ziancom (47,513 - 03 มิ.ย. 49)
เว็บลามก...ป่วนแก้ไง
เว็บไทยดีดี (15,415 - 29 ก.ย. 50)
ทดลองเขียนโปรแกรมสร้าง Thread (Visual C++)
langjuko (28,729 - 16 ก.ย. 51)
สร้างพื้นหลังกราฟฟิกอย่างงายด้วย Photoshop
langjuko (278,093 - 08 ต.ค. 51)
การใช้เครื่องมือกลุ่ม Formatting ในการวาดรูปต่าง ๆ
หมูขุน (12,686 - 04 ก.พ. 50)
การรวมข้อความจากหลายๆ เซลล์เข้าด้วยกัน
หมูขุน (70,664 - 03 ก.ค. 51)
การสร้างแบบสอบถามโดยใช้ตัวช่วยสร้าง
Mr.N (30,742 - 02 มิ.ย. 50)
การทำ Magic Wand วิ่งตามเมาส์
Mr.GuruZ (54,939 - 04 มิ.ย. 49)