Программирование > JavaScript & JScript
JavaScript: Как сделать так, чтобы при скролинге объект был неподвижен
(1/1)
Milord:
Например у меня есть:
(полупрозрачная flashка)
...
...
А мне надо чтобы получался эффект frame\'а, то есть ниже следующий текст "подъезжал под флашку"
P.S. плиз хелп так как проэкт надо доделать до завтра!!!
vvv:
по событию onScroll определяешь положение скрола y=scroll и потом присваиваешь это значение document.all[\'..\'].style.top=y
KBA-KBA:
--------------------------------------------------------------------------------
Copyright (C) \'99 Andrew A. Chentsov
--- Код: ---
function adf_flyLayer(flyname, x, y, zeroPoint) {
sX = x;
sY = y;
if (document.all) {
document.all[flyname].style.posLeft = document.body.scrollLeft + sX;
document.all[flyname].style.posTop = document.body.scrollTop + sY;
}
if (document.layers) {
document.layers[flyname].left = window.pageXOffset + sX;
document.layers[flyname].top = window.pageYOffset + sY;
}
}
function adf_Resize(flyname, x, y, zeroPoint) {
if (document.all) {
x1 = x;
y1 = y;
switch (zeroPoint) {
case 1: { x1 = document.body.clientWidth - x; y1 = document.body.clientHeight - y; }
case 2: { y1 = document.body.clientHeight - y; }
case 3: { x1 = document.body.clientWidth - x; }
}
x = x1;
y = y1;
if (zeroPoint != 0) x = x - document.all[flyname].style.pixelWidth;
if ((zeroPoint != 0) && (zeroPoint != 3)) y = y - document.all[flyname].style.pixelHeight;
window.onscroll = new Function("adf_flyLayer(\'" + flyname + "\', " + x + ", " + y + ", " + zeroPoint + ")")
eval("adf_flyLayer(\'" + flyname + "\', " + x + ", " + y + ", " + zeroPoint + ")");
}
if (document.layers) {
x1 = x;
y1 = y;
switch (zeroPoint) {
case 1: { x1 = window.innerWidth - x; y1 = window.innerHeight - y; }
case 2: { y1 = window.innerHeight - y; }
case 3: { x1 = window.innerWidth - x; }
}
x = x1;
y = y1;
if (zeroPoint != 0) x = x - document.layers[flyname].clip.width;
if ((zeroPoint != 0) && (zeroPoint != 3)) y = y - document.layers[flyname].clip.height;
clearInterval(floatLayer);
floatLayer = setInterval("adf_flyLayer(\'" + flyname + "\', " + x + ", " + y + ", " + zeroPoint + ")", 200)
eval("adf_flyLayer(\'" + flyname + "\', " + x + ", " + y + ", " + zeroPoint + ")");
}
}
function adf_initFloat(flyname, _x, _y, zeroPoint) {
x = _x;
y = _y;
if (document.layers) {
x1 = x;
y1 = y;
switch (zeroPoint) {
case 1: { x1 = window.innerWidth - x; y1 = window.innerHeight - y; }
case 2: { y1 = window.innerHeight - y; }
case 3: { x1 = window.innerWidth - x; }
}
x = x1;
y = y1;
if (zeroPoint != 0) x = x - document.layers[flyname].clip.width;
if ((zeroPoint != 0) && (zeroPoint != 3)) y = y - document.layers[flyname].clip.height;
if (zeroPoint != 0) window.onresize = new Function("adf_Resize(\'" + flyname + "\', " + _x + ", " + _y + ", " + zeroPoint + ")");
floatLayer = setInterval("adf_flyLayer(\'" + flyname + "\', " + x + ", " + y + ", " + zeroPoint + ")", 200)
eval("adf_flyLayer(\'" + flyname + "\', " + x + ", " + y + ", " + zeroPoint + ")");
}
if (document.all) {
x1 = x;
y1 = y;
switch (zeroPoint) {
case 1: { x1 = document.body.clientWidth - x; y1 = document.body.clientHeight - y; }
case 2: { y1 = document.body.clientHeight - y; }
case 3: { x1 = document.body.clientWidth - x; }
}
x = x1;
y = y1;
if (zeroPoint != 0) x = x - document.all[flyname].style.pixelWidth;
if ((zeroPoint != 0) && (zeroPoint != 3)) y = y - document.all[flyname].style.pixelHeight;
if (zeroPoint != 0) window.onresize = new Function("adf_Resize(\'" + flyname + "\', " + _x + ", " + _y + ", " + zeroPoint + ")");
window.onscroll = new Function("adf_flyLayer(\'" + flyname + "\', " + x + ", " + y + ", " + zeroPoint + ")")
eval("adf_flyLayer(\'" + flyname + "\', " + x + ", " + y + ", " + zeroPoint + ")");
}
}
--- Конец кода ---
--------------------------------------------------------------------------------
--- Код: ---
--- Конец кода ---
Навигация
Перейти к полной версии