Tạo vùng quảng cáo trổi nổi trên trang web. 2007-07-30 10:46:01
Các bạn chắc đã quen thuộc với việc 1 trang web có 2 vùng quảng cáo chạy dọc biên. Hiện tại trên mạng có khá nhiều code giải quyết bài toán này, nhưng thường khá là phức tạp, rườm rà. Mấy hôm trước có 1 người bạn nhờ mình viết, tiện thể post lên để anh em tham khảo và áp dụng.
Code của mình có thể còn dài dòng hơn, nhưng có ưu điểm là dùng rất dễ và có thể áp dụng cho rất nhiều trường hợp.
<?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>uoon demo Set Position</title>
<style type="text/css">
.float {
width: 115px;
height: 200px;
border: solid 1px blue;
}
</style>
</head>
<body>
<div style="width: 2000px;height: 2000px;">
<div id="a" class="float">a</div>
<div id="b" class="float">b</div>
<div id="c" class="float">c</div>
</div>
</body>
<script type="text/javascript">
function setPosition(id, position) {
var store = {
ram : {
top : 0,
left : 0,
right : 0,
bottom : 0
},
rom : {
top : null,
left : null,
right : null,
bottom : null
}
};
for (var i in position) {store.rom[i] = position[i];}
var element = document.getElementById(id);
for (i in store) {element[i] = store[i];}
element.rom.move = function() {
if (window.innerHeight) {
var topPage = window.pageYOffset;
var leftPage = window.pageXOffset;
var rightPage = leftPage + window.innerWidth - element.offsetWidth;
var bottomPage = topPage + window.innerHeight - element.offsetHeight;
}
else {
var topPage = document.body.scrollTop;
var leftPage = document.body.scrollLeft;
var rightPage = leftPage + document.body.clientWidth - element.offsetWidth;
var bottomPage = topPage + document.body.clientHeight - element.offsetHeight;
}
element.style.position = "absolute";
if (element.rom.top != null) {
element.ram.top += Math.round((topPage + element.rom.top - element.ram.top)/20);
element.style.top = element.ram.top;
}
if (element.rom.left != null) {
element.ram.left += Math.round((leftPage + element.rom.left - element.ram.left)/20);
element.style.left = element.ram.left;
}
if (element.rom.right != null) {
element.ram.right += Math.round((rightPage - element.rom.right - element.ram.right)/20);
element.style.left = element.ram.right;
}
if (element.rom.bottom != null) {
element.ram.bottom += Math.round((bottomPage - element.rom.bottom - element.ram.bottom)/20);
element.style.top = element.ram.bottom;
}
setTimeout("document.getElementById('"+element.id+"').rom.move()",10);
};
element.rom.move();
}
setPosition("a", {top: 20, right: 30});
setPosition("b", {bottom: 20, right: 30});
setPosition("c", {top: 20, left: 30});
</script>
</body>
</html>
?>
Muốn đặt một vùng quảng cáo ở vị trí nào bạn chỉ cần gọi hàm setPosition và truyền vào cho nó id của vùng quảng cáo và vị trí mà bạn muốn nó xuất hiện như sau:
Vd:
setPosition("ad", {top: 20, left: 100});
hàm này chỉ hỗ trợ 4 loại định vị là top, left, right, bottom
khi sử dụng tùy ý thiết lập.
Tra loi 47 comment(s) 2007-07-30 10:46:01
e-learning 2007-07-30 02:24:04
Tra loi
Quan Tran Anh 2007-07-31 01:50:38
Tra loi
toiyeuphp 2007-07-31 03:04:51
Tra loi
uoon 2007-07-31 06:20:07
Nhưng có một lỗi làm đau cả đầu .
Đấy là việc cho thêm dòng code này vào đầu file:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
thế là script chết toi luôn.
buồn thật.
Tra loi
Nguyễn Minh Tân 2007-07-31 08:19:02
var store = {
ram : {top : 0,left : 0,right : 0,bottom : 0},
rom : {top : null,left : null,right : null,bottom : null}
};
Bác nào có link tham khảo càng tốt T_T , em cám ơn
Tra loi
NguyÅn Minh Tân 2007-07-31 10:44:25
Tra loi
009900 2007-10-25 01:11:08
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
aaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />
<DIV id=divAdLeft style="DISPLAY: none; LEFT: -110px; WIDTH: 120px; POSITION: absolute; TOP: 0px" align="left">
<A href="http://qctt24h.24h.com.vn/banner/phim_HBO.htm" target="_blank">
<img border="0" width="112" height="480" src="http://www5.nhac.vui.vn/Home/logo/115x480hbo.gif">
</A>
</DIV>
<DIV id=divAdRight style="DISPLAY: none; LEFT: -110px; WIDTH: 120px; POSITION: absolute; TOP: 0px" align="right">
<A href="http://nhac.vui.vn" target="_blank">
<img border="0" width="112" height="480" src="http://www5.nhac.vui.vn/Home/logo/115x480hbo.gif">
</A></DIV>
<script language="javascript" type="text/javascript">
var adRWidth=120;
var adLWidth=1003;
function FloatTopDiv()
{
startX = document.body.clientWidth - adRWidth, startY = 0;
var ns = (navigator.appName.indexOf("Netscape") != -1);
var d = document;
if (document.body.clientWidth < 980) startX = -adRWidth;
function ml(id)
{
var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
if(d.layers)el.style=el;
el.sP=function(x,y){this.style.left=x;this.style.top=y;};
el.x = startX;
el.y = startY;
return el;
}
window.stayTopLeft=function()
{
if (document.documentElement && document.documentElement.scrollTop)
var pY = ns ? pageYOffset : document.documentElement.scrollTop;
else if (document.body)
var pY = ns ? pageYOffset : document.body.scrollTop;
if (document.body.scrollTop > 2){startY = 0} else {startY = 0};
ftlObj.y += (pY + startY - ftlObj.y)/8;
ftlObj.sP(ftlObj.x, ftlObj.y);
setTimeout("stayTopLeft()", 1);
}
ftlObj = ml("divAdRight");
stayTopLeft();
}
function FloatTopDiv2()
{
startX2 = document.body.clientWidth - adLWidth, startY2 =0;
var ns2 = (navigator.appName.indexOf("Netscape") != -1);
var d2 = document;
if (document.body.clientWidth < 980) startX2 = -adLWidth;
function ml2(id)
{
var el2=d2.getElementById?d2.getElementById(id):d2.all?d2.all[id]:d2.layers[id];
if(d2.layers)el2.style=el2;
el2.sP=function(x,y){this.style.left=x;this.style.top=y;};
el2.x = startX2;
el2.y = startY2;
return el2;
}
window.stayTopLeft2=function()
{
if (document.body.clientWidth < 980)
{
ftlObj2.x = - 115;ftlObj2.y = 0; ftlObj2.sP(ftlObj2.x, ftlObj2.y);
}
else
{
if (document.documentElement && document.documentElement.scrollTop)
var pY2 = ns2 ? pageYOffset : document.documentElement.scrollTop;
else if (document.body)
var pY2 = ns2 ? pageYOffset : document.body.scrollTop;
if (document.body.scrollTop >2){startY2 = 0} else {startY2 =0};
if (document.body.clientWidth >= 1024)
{
ftlObj2.x = 0;ftlObj2.y += (pY2 + startY2 - ftlObj2.y)/8; ftlObj2.sP(ftlObj2.x, ftlObj2.y);
}
else
{
ftlObj2.x = startX2;
ftlObj2.y += (pY2 + startY2 - ftlObj2.y)/8;
ftlObj2.sP(ftlObj2.x, ftlObj2.y);
}
}
setTimeout("stayTopLeft2()", 1);
}
ftlObj2 = ml2("divAdLeft");
stayTopLeft2();
}
function ShowAdDiv()
{
var objAdDivRight = document.getElementById("divAdRight");
var objAdDivLeft = document.getElementById("divAdLeft");
objAdDivLeft.style.display="block"
objAdDivRight.style.display="block"
if (document.body.clientWidth < 980)
{
objAdDivRight.style.left = - adRWidth;
objAdDivLeft.style.left = - adLWidth;
}
else
{
objAdDivLeft.style.left = 0;
objAdDivRight.style.left = document.body.clientWidth - adRWidth;
}
FloatTopDiv();
FloatTopDiv2();
}
ShowAdDiv();
LComplete = 1;
</script>
</body>
</html>
Mọi người trả lời cho em với nha...em mới vào diễn đàn bài viết số 1 có gì ko đúng mọi người chỉ bảo nhé..Thank all
Tra loi
TG 2007-10-25 08:15:22
Tra loi
Lamborghini 2007-10-25 09:28:50
chẳng biết có xung đột vũ trang j với W3C ko, lỗi anh uoon đưa ra lần nào cũng gặp, toàn phải bỏ nó đi!
Tra loi
009900 2007-10-25 10:48:18
Tra loi
uoon 2007-10-25 10:49:09
Hì thấy mọi người quan tâm đến nó nên đã cố thử lại, code bây giờ có thể chạy tốt với cả DOCTYPE phiền anh em tham khảo thêm lần nữa.
@: Lamborghini, đồng chí có thể cho xem cái lỗi đó không. hì đã có công fix thì fix cho một thể mà. Cảm ơn nhé.
Code demo:
<?php
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>uoon demo Set Position</title>
<style type="text/css">
.float {
width: 115px;
height: 200px;
border: solid 1px blue;
}
</style>
</head>
<body>
<div style="width: 2000px;height: 2000px;">
<div id="a" class="float">a</div>
<div id="b" class="float">b</div>
<div id="c" class="float">c</div>
</div>
</body>
<script type="text/javascript">
function setPosition(id, position) {
var store = {
ram : {
top : 0,
left : 0,
right : 0,
bottom : 0
},
rom : {
top : null,
left : null,
right : null,
bottom : null
}
};
for (var i in position) {store.rom[i] = position[i];}
var element = document.getElementById(id);
for (i in store) {element[i] = store[i];}
element.rom.move = function() {
if (window.innerHeight) {
var topPage = window.pageYOffset;
var leftPage = window.pageXOffset;
var rightPage = leftPage + window.innerWidth - element.offsetWidth;
var bottomPage = topPage + window.innerHeight - element.offsetHeight;
}
else {
if (document.documentElement && document.documentElement.clientHeight) {
var topPage = document.documentElement.scrollTop;
var leftPage = document.documentElement.scrollLeft;
var browserHeight = document.documentElement.clientHeight;
var browserWidth = document.documentElement.clientWidth
} else if (document.body) {
var topPage = document.body.scrollTop;
var leftPage = document.body.scrollLeft;
var browserHeight = document.body.clientHeight;
var browserWidth = document.body.clientWidth;
}
var rightPage = leftPage + browserWidth - element.offsetWidth;
var bottomPage = topPage + browserHeight - element.offsetHeight;
}
element.style.position = "absolute";
if (element.rom.top != null) {
element.ram.top += Math.round((topPage + element.rom.top - element.ram.top)/20);
element.style.top = element.ram.top + "px";
}
if (element.rom.left != null) {
element.ram.left += Math.round((leftPage + element.rom.left - element.ram.left)/20);
element.style.left = element.ram.left + "px";
}
if (element.rom.right != null) {
element.ram.right += Math.round((rightPage - element.rom.right - element.ram.right)/20);
element.style.left = element.ram.right + "px";
}
if (element.rom.bottom != null) {
element.ram.bottom += Math.round((bottomPage - element.rom.bottom - element.ram.bottom)/20);
element.style.top = element.ram.bottom + "px";
}
setTimeout("document.getElementById('"+element.id+"').rom.move()",10);
};
element.rom.move();
}
setPosition("a", {top: 20, right: 30});
setPosition("b", {bottom: 20, right: 30});
setPosition("c", {top: 20, left: 30});
</script>
</body>
</html>
?>
Tra loi
009900 2007-10-25 03:37:36
----------
Thank you.
Tra loi
uoon 2007-10-25 06:08:19
tìm cái đoạn này;
top: null,
left: null,
right: null,
bottom: null
}
Sửa thêm thành như sau:
top: null,
left: null,
right: null,
bottom: null,
limit: 0
}
tiếp theo tìm đến dòng này:
chèn thêm 2 dòng code sau vào phía trước nó:
else element.style.display = "block";
element.style.position = "absolute";
như vậy là được.
Khi dùng thì thêm kích thước giới hạn vào như sau:
setPosition("a", {top: 20, right: 30, limit: 777});
lúc này nếu site của bạn được thu vào nhỏ hơn 777px sẽ làm biến mất cái div đó.
Các bạn thử hộ, có lỗi hoặc còn yêu cầu gì thì post lên mình sửa nốt cho nó hoàn thiện.
Tra loi
009900 2007-10-25 11:57:25
Lovely...
Tra loi
uoon 2007-10-26 09:21:05
var topPage = window.pageYOffset;
var leftPage = window.pageXOffset;
var rightPage = leftPage + window.innerWidth - element.offsetWidth;
var bottomPage = topPage + window.innerHeight - element.offsetHeight;
}
thay bằng đoạn sau :
if (window.innerHeight) {
var topPage = window.pageYOffset;
var leftPage = window.pageXOffset;
var rightPage = leftPage + window.innerWidth - element.offsetWidth;
var bottomPage = topPage + window.innerHeight - element.offsetHeight;
var browserHeight = window.innerHeight;
var browserWidth = window.innerWidth;
}
đại khái là mình quên không tạo 2 biến browserHeight và browserWidth cho FF :D, chỉ cần thêm vào là được.
Vẫn không phải bản cuối.
Tra loi
e-learning 2007-10-26 11:58:47
Tra loi
009900 2007-10-26 02:09:53
Tra loi
e-learning 2007-10-26 02:45:18
P/s: âm thanh hướng dẫn sử dụng đó, nghĩ bậy kô hà ^_^
Tra loi
cocbay 2007-10-26 04:53:05
Mình nghĩ bản cuối là user click vào banner nào thì banner đó fullscreen, click again thì chuyển về vị trí cũ.
Thansk uoon
Tra loi
uoon 2007-10-26 05:40:44
Thax
Tra loi
009900 2007-10-26 05:48:08
Tra loi
009900 2007-10-26 10:04:33
Tra loi
cocbay 2007-10-27 08:16:50
Tra loi
009900 2007-10-27 11:43:42
Tra loi
uoon 2007-10-30 09:15:47
Đây là bản cuối cho vấn đề này:
<?php
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>uoon demo Set Position</title>
<style type="text/css">
.float {
width: 115px;
height: 200px;
border: solid 1px blue;
}
</style>
</head>
<body>
<div style="height: 2000px; width: 2000px;">
<div id="a" class="float">a</div>
<div id="b" class="float">b</div>
<div id="c" class="float">c</div>
</div>
</body>
<script type="text/javascript">
function setPosition(r) {
// create by uoon
var store = {
ram : {
top : 0,
left : 0,
right : 0,
bottom : 0
},
rom : {
element: null,
minWidth: 0,
minHeight: 0,
top : null,
left : null,
right : null,
bottom : null
}
};
for (var i in r) {store.rom[i] = r[i];}
var element = document.getElementById(store.rom.element);
if (!element) {
alert("Please check the argument: 'element'.");
return false;
}
for (i in store) {element[i] = store[i];}
element.rom.move = function() {
if (window.innerHeight) {
var htmlTag = document.getElementsByTagName("html")[0];
var topPage = window.pageYOffset;
var leftPage = window.pageXOffset;
var rightPage = leftPage + window.innerWidth - element.offsetWidth;
if (htmlTag.scrollHeight > window.innerHeight) rightPage -= 17;
var bottomPage = topPage + window.innerHeight - element.offsetHeight;
if (htmlTag.scrollWidth > window.innerWidth) bottomPage -= 17;
var browserHeight = window.innerHeight;
var browserWidth = window.innerWidth;
} else {
if (document.documentElement && document.documentElement.clientWidth) {
var topPage = document.documentElement.scrollTop;
var leftPage = document.documentElement.scrollLeft;
var browserHeight = document.documentElement.clientHeight;
var browserWidth = document.documentElement.clientWidth;
} else if (document.body) {
var topPage = document.body.scrollTop;
var leftPage = document.body.scrollLeft;
var browserHeight = document.body.clientHeight;
var browserWidth = document.body.clientWidth;
}
var rightPage = leftPage + browserWidth - element.offsetWidth;
var bottomPage = topPage + browserHeight - element.offsetHeight;
}
if ((browserWidth < element.rom.minWidth) || (browserHeight < element.rom.minHeight)) element.style.display = "none";
else element.style.display = "block";
element.style.position = "absolute";
if (element.rom.top != null) {
element.ram.top += ((topPage + element.rom.top - element.ram.top) / 20);
if (Math.abs(topPage + element.rom.top - element.ram.top) < 2) element.ram.top = topPage + element.rom.top;
element.style.top = element.ram.top + "px";
}
if (element.rom.left != null) {
element.ram.left += ((leftPage + element.rom.left - element.ram.left) / 20);
if (Math.abs(leftPage + element.rom.left - element.ram.left) < 2) element.ram.left = leftPage + element.rom.left;
element.style.left = element.ram.left + "px";
}
if (element.rom.right != null) {
element.ram.right += ((rightPage - element.rom.right - element.ram.right) / 20);
if (Math.abs(rightPage - element.rom.right - element.ram.right) < 2) element.ram.right = rightPage - element.rom.right;
element.style.left = element.ram.right + "px";
}
if (element.rom.bottom != null) {
element.ram.bottom += ((bottomPage - element.rom.bottom - element.ram.bottom) / 20);
if (Math.abs(bottomPage - element.rom.bottom - element.ram.bottom) < 2) element.ram.bottom = bottomPage - element.rom.bottom;
element.style.top = element.ram.bottom + "px";
}
setTimeout("document.getElementById('"+element.id+"').rom.move()", 20);
};
element.rom.move();
};
setPosition({element: "a", top: 20, right: 0});
setPosition({element: "b", left: 20 , top: 10});
setPosition({element: "c", left: 300 , bottom: 0});
</script>
</body>
</html>
?>
Cách sử dụng có khác một chút so với những lần trước.
Cụ thể trước đây :
Bây giờ dùng cú pháp sau:
chỉ vậy thôi.
Thêm 2 tham số nữa minWidth và minHeight dùng để tạo giới hạn hiển thị.
VD: khi muốn trang web thu nhỏ xuống dưới 800px thì tắt đi, các bạn chỉ cần đặt minWidth: 800 là ok.
Dùng tương tự cho minHeight.
Chúc thành công.
Tra loi
noone 2007-11-08 03:03:53
Tra loi
curua 2007-11-09 11:21:24
Tra loi
noone 2007-11-10 09:13:32
Tra loi
uoon 2007-11-10 01:39:41
Hi vọng đây là bản cuối:
<?
function setPosition(r) {
// create by uoon
var store = {
ram : {
top : 0,
left : 0,
right : 0,
bottom : 0
},
rom : {
element: null,
minWidth: 0,
minHeight: 0,
top : null,
left : null,
right : null,
bottom : null
}
};
for (var i in r) {store.rom[i] = r[i];}
var element = document.getElementById(store.rom.element);
if (!element) {
alert("Please check the argument: 'element'.");
return false;
}
for (i in store) {element[i] = store[i];}
element.rom.move = function() {
if (window.innerHeight) {
var htmlTag = document.getElementsByTagName("html")[0];
var topPage = window.pageYOffset;
var leftPage = window.pageXOffset;
var rightPage = leftPage + window.innerWidth - element.offsetWidth;
if (htmlTag.scrollHeight > window.innerHeight) rightPage -= 17;
var bottomPage = topPage + window.innerHeight - element.offsetHeight;
if (htmlTag.scrollWidth > window.innerWidth) bottomPage -= 17;
var browserHeight = window.innerHeight;
var browserWidth = window.innerWidth;
} else {
if (document.documentElement && document.documentElement.clientWidth) {
var topPage = document.documentElement.scrollTop;
var leftPage = document.documentElement.scrollLeft;
var browserHeight = document.documentElement.clientHeight;
var browserWidth = document.documentElement.clientWidth;
} else if (document.body) {
var topPage = document.body.scrollTop;
var leftPage = document.body.scrollLeft;
var browserHeight = document.body.clientHeight;
var browserWidth = document.body.clientWidth;
}
var rightPage = leftPage + browserWidth - element.offsetWidth;
var bottomPage = topPage + browserHeight - element.offsetHeight;
}
if ((browserWidth < element.rom.minWidth) || (browserHeight < element.rom.minHeight)) element.style.display = "none";
else element.style.display = "block";
element.style.position = "absolute";
if (element.rom.top != null) {
var Condition = (Math.abs(topPage + element.rom.top - element.ram.top) < 2 || !element.firstTime);
if (Condition) element.ram.top = topPage + element.rom.top;
else element.ram.top += ((topPage + element.rom.top - element.ram.top) / 20);
element.style.top = element.ram.top + "px";
}
if (element.rom.left != null) {
var Condition = (Math.abs(leftPage + element.rom.left - element.ram.left) < 2 || !element.firstTime);
if (Condition) element.ram.left = leftPage + element.rom.left;
else element.ram.left += ((leftPage + element.rom.left - element.ram.left) / 20);
element.style.left = element.ram.left + "px";
}
if (element.rom.right != null) {
var Condition = (Math.abs(rightPage - element.rom.right - element.ram.right) < 2 || !element.firstTime);
if (Condition) element.ram.right = rightPage - element.rom.right;
else element.ram.right += ((rightPage - element.rom.right - element.ram.right) / 20);
element.style.left = element.ram.right + "px";
}
if (element.rom.bottom != null) {
var Condition = (Math.abs(bottomPage - element.rom.bottom - element.ram.bottom) < 2 || !element.firstTime);
if (Condition) element.ram.bottom = bottomPage - element.rom.bottom;
else element.ram.bottom += ((bottomPage - element.rom.bottom - element.ram.bottom) / 20);
element.style.top = element.ram.bottom + "px";
}
element.firstTime = true;
setTimeout("document.getElementById('"+element.id+"').rom.move()", 20);
};
element.rom.move();
};
?>
Tra loi
julienarchille 2007-12-18 07:47:23
Tra loi
Ròm 2008-01-13 03:21:22
Tra loi
Anhspy007 2008-01-24 09:24:48
Thứ 1 mình mún cho nó canh lề sát bên góc mép trái và phải cũng như góc trên và dưới giống trang Sonic.vn/music.
Thứ 2 mình muốn duyệt bằng FF hay IE thì cho kết quả như nhau, điều này có bạn ở trên chỉ cách làm nhưng mình k bit:D.
Thứ 3 nếu mình không muốn canh trên dưới mà muốn canh giữa thì sao ha bạn
Tra loi
123456 2008-01-24 05:02:45
Tra loi
Anhpy007 2008-02-02 11:28:01
Xin nhờ các BRO chỉ mình với, sau đây là code của mình:
<DIV id="divAdRight" align="right" style="LEFT: -110px; WIDTH: 110px; POSITION: absolute; TOP: 71px">
<div id="BannerChayDocPhai1_myPanel">
<img border="0" src="file:///C:/AppServ/www/test/templates/estore_plazza/images/megastar.gif" width="110" height="200">
<!-- <img src="/Library/ads//milk-110x280.gif" border = '0'> -->
</div>
</div>
<DIV id="divAdLeft" style="LEFT: -110px; WIDTH: 110px; POSITION: absolute; TOP: 71px">
<div id="BannerChayDocTrai1_myPanel">
<img border="0" src="file:///C:/AppServ/www/test/templates/estore_plazza/images/thegioididong.gif" width="100" height="180">
<!-- <a target="_blank" href ='/vn/adv/318'><img src="/Library/ads//110x200-megastar.gif" border = '0'></a> -->
</div>
</DIV>
<script language="JavaScript">
function FloatTopDiv()
{
startX = document.body.clientWidth - 110, startY = 71;
var ns = (navigator.appName.indexOf("Netscape") != -1);
var d = document;
if (document.body.clientWidth < 980) startX = -110;
function ml(id)
{
var el=d.getElementById?d.getElementById(id):d.all?d.all[id]:d.layers[id];
if(d.layers)el.style=el;
el.sP=function(x,y){this.style.left=x;this.style.top=y;};
el.x = startX;
el.y = startY;
return el;
}
window.stayTopLeft=function()
{
if (document.body.clientWidth < 980)
{
ftlObj.x = - 115;ftlObj.y = 0; ftlObj.sP(ftlObj.x, ftlObj.y);
}
else
{
if (document.documentElement && document.documentElement.scrollTop)
var pY = ns ? pageYOffset : document.documentElement.scrollTop;
else if (document.body)
var pY = ns ? pageYOffset : document.body.scrollTop;
if (document.body.scrollTop > 71){startY = 3} else {startY = 71};
if (document.body.clientWidth >= 1024)
{
ftlObj.x = document.body.clientWidth - 110;ftlObj.y += (pY + startY - ftlObj.y)/32;ftlObj.sP(ftlObj.x, ftlObj.y);
}
else
{
ftlObj.x = startX;
ftlObj.y += (pY + startY - ftlObj.y)/32;
ftlObj.sP(ftlObj.x, ftlObj.y);
}
}
setTimeout("stayTopLeft()", 1);
}
ftlObj = ml("divAdRight");
stayTopLeft();
}
function FloatTopDiv2()
{
startX2 = document.body.clientWidth - 1004, startY2 = 71;
var ns2 = (navigator.appName.indexOf("Netscape") != -1);
var d2 = document;
if (document.body.clientWidth < 980) startX2 = -110;
function ml2(id)
{
var el2=d2.getElementById?d2.getElementById(id):d2.all?d2.all[id]:d2.layers[id];
if(d2.layers)el2.style=el2;
el2.sP=function(x,y){this.style.left=x;this.style.top=y;};
el2.x = startX2;
el2.y = startY2;
return el2;
}
window.stayTopLeft2=function()
{
if (document.body.clientWidth < 980)
{
ftlObj2.x = - 115;ftlObj2.y = 0; ftlObj2.sP(ftlObj2.x, ftlObj2.y);
}
else
{
if (document.documentElement && document.documentElement.scrollTop)
var pY2 = ns2 ? pageYOffset : document.documentElement.scrollTop;
else if (document.body)
var pY2 = ns2 ? pageYOffset : document.body.scrollTop;
if (document.body.scrollTop > 71){startY2 = 3} else {startY2 = 71};
if (document.body.clientWidth >= 1024)
{
ftlObj2.x = 0;ftlObj2.y += (pY2 + startY2 - ftlObj2.y)/32; ftlObj2.sP(ftlObj2.x, ftlObj2.y);
}
else
{
ftlObj2.x = startX2;
ftlObj2.y += (pY2 + startY2 - ftlObj2.y)/32;
ftlObj2.sP(ftlObj2.x, ftlObj2.y);
}
}
setTimeout("stayTopLeft2()", 1);
}
ftlObj2 = ml2("divAdLeft");
stayTopLeft2();
}
function ShowAdDiv()
{
var objAdDivLeft = document.getElementById("divAdLeft");
var objAdDivRight = document.getElementById("divAdRight");
if (document.body.clientWidth < 980)
{
objAdDivLeft.style.left = - 110;
objAdDivRight.style.left = - 110;
}
else
{
objAdDivLeft.style.left = 0;
objAdDivRight.style.left = document.body.clientWidth - 110;
}
FloatTopDiv();
FloatTopDiv2();
}
ShowAdDiv();
</script>
thanks
Tra loi
ttnhon 2008-03-26 10:18:30
Mình copy code cua bạn, sửa lại thành
setPosition({element: "a", top: 20, left: 0, minWidth: 1024});
setPosition({element: "b", top: 20, right: 0, minWidth: 1024});
Nhưng nó ko cáo tác dụng, mình dùng màn hinh 19inch.
Khi kéo trình duyet ve 800x600 thi 2 cai banner mat di nhung khi keo ve 1024x800 thi no van hien 2 cai banner. Xin chi giup.
Tra loi
uoon 2008-03-26 03:43:42
bạn thử giới hạn cái minwith nhỏ đi một chút xíu.
Căn bản khi để kích thước màn hình là 1024 thì cái vùng hiển thị ở phía trong é nó nhỏ hơn 1024. Nó còn border của browser nữa mà.
Tra loi
ttnhon 2008-03-27 02:33:02
Thanks ban.
Tra loi
vb 2008-06-09 12:49:12
Tra loi
Newbe 2008-08-12 03:56:05
Vậy mình làm thế nào để tạo Quảng Cáo trên trang .htm với 2 cái file có sẵn ad.gì va ad.swf?
Giúp mình với. Cảm ơn bạn thật nhìu
Tra loi
ohay 2008-08-13 05:24:32
<div id="adLeft"><img src="ad.gif"></div>
đại khái như thế :D. Sau đấy bạn gọi hàm setPosition như sau:
setPosition({element: "adLeft", top: 20, left: 0});
chú ý cái id là adLeft phải giống nhau.
Thế nhá.
Tra loi
Newbe 2008-08-21 11:34:59
Tra loi
Newbe 2008-08-21 11:37:00
Tra loi
Bút chì đầu đỏ 2008-09-01 01:38:07
Tra loi
TNguyễn 2008-11-07 11:52:21
Good code.
Tra loi
Kitten 2009-06-26 02:03:13
Tra loi
uoon 2009-06-26 05:45:11
<script type="text/javscript" src="file_rieng.js"></script>
sau đó thì gọi như bạn muốn.
bạn nên tham khảo thêm ở đây http://vnjs.net/?id=1000000038
Tra loi
Kay 2010-03-15 04:53:24
P/s: Các bạn nào muốn bỏ đi hiện tượng banner bên phải lúc load trang nó bay từ bên trái qua bên phải thì tìm dòng này:
đổi lại thành
Tra loi
Y kien