|
21.02.2013, 10:25
|
Новичок на форуме
|
|
Регистрация: 20.02.2013
Сообщений: 8
|
|
Реализация через CSS не устраивает.
Скрипт вчера вечером поправил - теперь работает, как надо. Но есть маленькая загвоздка в IE. Ширина экрана вычисляется не так как в FF. В IE не учитывается ширина полосы прокрутки. Баннер должен перемещаться по границе таблицы. Есть идеи?
Код:
|
<html>
<body>
<TABLE border="1" align="center" cellpadding="0" cellspacing="0" bgcolor="grey" width="710" height="100%">
<TR><TD>
<p>sddddddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkg
hnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddd
dddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5
ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrejhgjh
bkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffff
ffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hm
vgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhka
ghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddffffffffffffffffff
fffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsdd
ddddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut8
94vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregre
jhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddf
ffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y
3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmh
kaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffff
ffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghs
ddddddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485y
ut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffreg
regrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddd
dddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycj
mg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkg
hnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddffffffff
fffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh
45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghn
erght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddffffffffffffffffffffff
fffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddd
dddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894v
g3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrej
hgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddf
ffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8
y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgn
mhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffff
ffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mg
hsddddddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght48
5yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffr
egregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddd
dddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5y
cjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrejhgjhb
kghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddffffff
fffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvg
h45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkagh
nerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffff
ffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddd
dddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894v
g3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrejh
gjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfff
ffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3h
mvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhka
ghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffff
ffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddd
dddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut89
4vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregre
jhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddf
ffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3
hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhka
ghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffff
ffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsdddd
ddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894
vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrej
hgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfff
ffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hm
vgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkagh
nerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffff
ffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsdddddd
ddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3
n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrejhgjh
h45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkagh
nerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffff
ffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddd
dddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894v
g3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrejh
gjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfff
ffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3h
mvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhka
ghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffff
ffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddd
dddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut89
4vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregre
jhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddf
ffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3
hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhka
ghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffff
ffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsdddd
ddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894
vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrej
hgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfff
ffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hm
vgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkagh
nerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffff
ffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mghsdddddd
ddddddddddddfffffffffffffffffffffffffffregregrejhgjhbkghnkfgnmhkaghnerght485yut894vg3
n5ycjmg57u8y3hmvgh45mv2mghsddddddddddddddddddfffffffffffffffffffffffffffregregrejhgjh
bkghnkfgnmhkaghnerght485yut894vg3n5ycjmg57u8y3hmvgh45mv2mgh</p>
</TD></TR>
</TABLE>
<div id="divStayTopLeft" style="position:absolute">
<script type="text/javascript">
function JSFX_FloatTopLeft()
{
var startX = (document.body.clientHeight)-475, startY = ((document.body.clientHeight)-240)/2;
var ns = (navigator.appName.indexOf("Netscape") != -1);
var d = document;
var px = document.layers ? "" : "px";
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+px;this.style.top=y+px;};
el.x = startX; el.y = startY;
return el;
}
window.stayTopLeft=function()
{
var pY = ns ? pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
ftlObj.y += (pY + startY - ftlObj.y)/16;
ftlObj.sP(ftlObj.x, ftlObj.y);
setTimeout("stayTopLeft()", 1);
}
ftlObj = ml("divStayTopLeft");
stayTopLeft();
}
function hiddenLayer() {
NC = (document.layers);
IE = (document.all);
Opera = (document.getElementById);
if(IE) eval('document.all["divStayTopLeft"].style.visibility = "hidden"');
if(NC) eval('document.layers["divStayTopLeft"].visibility = "hidden"');
if(Opera) eval('document.getElementById("divStayTopLeft").style.visibility = "hidden"');
}
JSFX_FloatTopLeft();
</script>
<IMG width="120" height="240" alt="Баннер">
</div>
</body>
</html> |
|
|
21.02.2013, 10:43
|
Новичок на форуме
|
|
Регистрация: 20.02.2013
Сообщений: 8
|
|
В предыдущем коде нужно поменять строку:
var startX = (document.body.clientHeight)-475, startY = ((document.body.clientHeight)-240)/2;
на
var startX = ((document.body.clientWidth)-950)/2, startY = ((document.body.clientHeight)-240)/2;
Задача решена.
Да, код старый, но зачем его переписывать заново если он работает корректно?
|
|
21.02.2013, 11:28
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Сообщение от RockTeam
|
Реализация через CSS не устраивает.
|
Чем?
|
|
21.02.2013, 15:39
|
Новичок на форуме
|
|
Регистрация: 20.02.2013
Сообщений: 8
|
|
Сообщение от danik.js
|
Чем?
|
Тем, что на странице в тегах <STYLE></STYLE> прописаны коды цветов для полос прокрутки для браузера IE. И если использовать предложенный вами вариант, то в IE он как раз работать не будет. Выхода два: либо отказываться от оформления полос прокрутки (работает только в IE), либо писать скрипт.
|
|
21.02.2013, 16:31
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Сообщение от RockTeam
|
IE он как раз работать не будет
|
Не вижу никакой связи между position:fixed и стилями оформления полос прокрутки. О чем вы говорите?
И зачем изменять цвета полос только для IE? Доля IE уже меньше 50% и продолжает падать.
|
|
21.02.2013, 17:58
|
Новичок на форуме
|
|
Регистрация: 20.02.2013
Сообщений: 8
|
|
Если вы напишете CSS таким образом, чтобы страница отображалась также, как в моём примере, затем добавите следующий код, то получите неверное отображение в IE7 (другие версии не проверял). В других браузерах всё будет отлично. Когда в Windows перестанет IE существовать по умолчанию, тогда популярность этого браузера может существенно понизится.
body{
scrollbar-base-color: #fafafa;
scrollbar-face-color: #000000;
scrollbar-3dlight-color: #202020;
scrollbar-arrow-color: #ffffff;
scrollbar-darkshadow-color: #202020;
scrollbar-shadow-color: #000000;
}
|
|
21.02.2013, 18:01
|
Новичок на форуме
|
|
Регистрация: 20.02.2013
Сообщений: 8
|
|
Как закрыть тему?
|
|
21.02.2013, 18:30
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Сообщение от RockTeam
|
то получите неверное отображение в IE7
|
Ничего подобного. position:fixed отлично работает в ослах. Вы вероятно что-то путаете.
Сообщение от RockTeam
|
Когда в Windows перестанет IE существовать по умолчанию
|
А какая вам разница? в IE10 scrollbar-* свойства не работают в любом случае. Так что доля "счастливчиков" увидящих ваши разукрашенные скроллабры будет стремительно падать. Но ведь надежда умирает последней
|
|
|
|