Roldo
Newbie-
Posts
8 -
Joined
-
Last visited
Roldo's Achievements
Explorer (1/14)
0
Reputation
-
WingedFox Проблема в том, что скрипт скачан с большого архива скриптов, и там они почти все такие.. ФФ их или не воспринимает вообще, или как-то криво отображает. У всех скриптов разные авторы, написнао по-разному. Неужели каждый пишет как ему в голову вздбредет, а Опера и ИЕ как-то телепатически распознают ошибки и все равно делают все правильно? Ну это все флуд.. Подскажите тогда, как правильно прописать позицию элемента типа div в яваскрипте, чтобы все браузеры поняли. Чтобы указать значение top или left, допустим.
-
AKS А что тут непонятного? Это код из файла .js, в теле страницы прописан div ball, это картинка. Потом идет ссылка на js-файл, который берет этот ball и двигает его. В Опере и ИЕ работает, как сделать чтобы ФФ тоже понял?
-
А вот еще код моего скрипта, он попроще: var xoff = 0; var xoff2 = 0; var yoff = 70; var yoff2 = 25; var inc2 = 3 var inc = 5; function move() { xoff += inc; if (xoff>document.body.clientWidth) {xoff=0;} ball.top = yoff; ball.left = xoff; setTimeout("move()", 50);} var NN = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) >= 4); var ball = (NN) ? document.ball : document.all.ball.style; move(); Тут px не указаны, а как правильно указать, чтоб браузер понял?)
-
Насчет px для свойств позиционирования.. Вот код скрипта "тарелки", где нужно пиксели указать? Прямо в обьявлении переменных, или уже когда пойдет прибавление в свойствах top и left? <SCRIPT LANGUAGE="JavaScript"> <!-- Begin var isNS = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 4)); var _all = ''; var _style = ''; var wwidth, wheight; var ydir = '++'; var xdir = '++'; var id1, id2, id3; var x = 1; var y = 1; var x1, y1; if(!isNS) { _all='all.'; _style='.style'; } function getwindowsize() { clearTimeout(id1); clearTimeout(id2); clearTimeout(id3); if (isNS) { wwidth = window.innerWidth - 55; wheight = window.innerHeight - 50; } else { wwidth = document.body.clientWidth - 55; wheight = document.body.clientHeight - 50; } id3 = setTimeout('randomdir()', 20000); animate(); } function randomdir() { if (Math.floor(Math.random()*2)) { (Math.floor(Math.random()*2)) ? xdir='--': xdir='++'; } else { (Math.floor(Math.random()*2)) ? ydir='--': ydir='++'; } id2 = setTimeout('randomdir()', 20000); } function animate() { eval('x'+xdir); eval('y'+ydir); if (isNS) { pic1.moveTo((x+pageXOffset),(y+pageYOffset)) } else { pic1.pixelLeft = x+document.body.scrollLeft; pic1.pixelTop = y+document.body.scrollTop; } if (isNS) { if (pic1.top <= 5+pageYOffset) ydir = '++'; if (pic1.top >= wheight+pageYOffset) ydir = '--'; if (pic1.left >= wwidth+pageXOffset) xdir = '--'; if (pic1.left <= 5+pageXOffset) xdir = '++'; } else { if (pic1.pixelTop <= 5+document.body.scrollTop) ydir = '++'; if (pic1.pixelTop >= wheight+document.body.scrollTop) ydir = '--'; if (pic1.pixelLeft >= wwidth+document.body.scrollLeft) xdir = '--'; if (pic1.pixelLeft <= 5+document.body.scrollLeft) xdir = '++'; } id1 = setTimeout('animate()', 30); } // End --> </script>
-
http://script.vanta.ru/download.php?id=28&clas=3 - по этой ссылке можно скачать скриптик "летающая тарелка". Работает везде, кроме Firefox, там тарелка вообще не отображается. Это готовый скрипт, просто для примера, я вот например пытаюсь написать свой скрипт движения, прописываю div с рисунком, потом средствами java этот div двигаю. В Опере и ИЕ работает, в ФФ отображается только сам div, который никуда не двигается.
-
Проблема! Есть два скрипта, один - плавающая по экрану рыбка, другой - птицы, пролетающие с левого края страницы на правый. Вот коды: Рыбка: var speed=50; // SPEED OF ANIMATION IN MILLISECONDS. var change=5000; // MAX TIME BETWEEN DIRECTION CHANGES IN MILLISECONDS. var xmax=3; // MAX NUMBER OF PIXEL STEPS LEFT OR RIGHT. var ymax=5; // MAX NUMBER OF PIXEL STEPS UP OR DOWN. var fishRurl="fishr.gif"; // THE URL OF THE RIGHT-FACING FISH var fishLurl="fishl.gif"; // THE URL OF THE LEFT-FACING FISH var w3c=(document.getElementById)?true:false; var ns4=(document.layers)?true:false; var ie4=(document.all && !w3c)?true:false; var ie5=(document.all && w3c)?true:false; var ns6=(w3c && navigator.appName.indexOf("Netscape")>=0)?true:false; var w_x, w_y, bothfish,pich,picw; var incrx=Math.floor(Math.random()*xmax); var incry=Math.floor(Math.random()*ymax); var xdir=true; var ydir=true; var imagex=new Image(); imagex.src=fishLurl; var t=(ns4)? '<layer name="bothfish" top="-100" left="0">' : '<div id="bothfish" style="position:absolute; top:0px; left;0px; width:1px; height:1px">'; t+='<img src="'+fishRurl+'" border="0" name="fishpic">'; t+=(ns4)?'</layer>':'</div>'; document.write(t); function getid(id){ if(ns4) return document.layers[id]; else if(ie4)return document.all[id]; else return document.getElementById(id); } function moveidto(id,x,y){ if(ns4)id.moveTo(x,y); else{ id.style.left=x+'px'; id.style.top=y+'px'; }} function moveidby(id,x,y){ if(ns4)id.moveBy(x,y); else{ id.style.left=parseInt(id.style.left)+x+'px'; id.style.top=parseInt(id.style.top)+y+'px'; }} function getwindowsize(){ if(ie4||ie5){ w_x=document.body.clientWidth; w_y=document.body.clientHeight-200; }else{ w_x=window.innerWidth-15; w_y=window.innerHeight-205; }} function changedirs(){ if(Math.floor(Math.random()*5)>2)xdir=(Math.floor(Math.random()*2)==0); if(Math.floor(Math.random()*5)>2)ydir=(Math.floor(Math.random()*2)==0); if(Math.floor(Math.random()*5)>2)incrx=Math.floor(Math.random()*xmax); if(Math.floor(Math.random()*5)>2)incry=Math.floor(Math.random()*ymax); checkdirs(); setTimeout('changedirs()',Math.ceil(Math.random()*change)); } function checkdirs(){ if(xdir) (ns4)? bothfish.document.images["fishpic"].src=fishRurl:document.images["fishpic"].src=fishRurl; else (ns4)? bothfish.document.images["fishpic"].src=fishLurl:document.images["fishpic"].src=fishLurl; } function animate(){ tx=(ns4)?bothfish.left:parseInt(bothfish.style.left); ty=(ns4)?bothfish.top:parseInt(bothfish.style.top); if(ie4||ie5){ xo=document.body.scrollLeft; yo=document.body.scrollTop+200; }else{ xo=window.pageXOffset; yo=window.pageYOffset; } if(ydir) if((ty+incry+pich)>(w_y+yo)){ydir=false; checkdirs(); moveidby(bothfish,0,-incry);}else{ moveidby(bothfish,0,incry); } else if((ty-incry)<yo){ ydir=true; checkdirs(); moveidby(bothfish,0,incry); }else{ moveidby(bothfish,0,-incry); } if(xdir) if((tx+incrx+picw)>(w_x+xo)){ xdir=false; checkdirs(); moveidby(bothfish,-incrx,0); }else{ moveidby(bothfish,incrx,0); } else if((tx-incrx)<xo){ xdir=true; checkdirs(); moveidby(bothfish,incrx,0); }else{ moveidby(bothfish,-incrx,0); } } window.onresize=function(){ if(ns4)setTimeout('history.go(0)',400); else getwindowsize(); } window.onload=function(){ bothfish=getid('bothfish'); if(ns4){ picw=bothfish.document.images['fishpic'].width; pich=bothfish.document.images['fishpic'].height; }else{ picw=document.images['fishpic'].width; pich=document.images['fishpic'].height; } getwindowsize(); moveidto(bothfish,(w_x-picw)/2,(w_y-pich)/2); setInterval('animate()',speed); changedirs(); } Птицы: var xoff = 0; var xoff2 = 0; var yoff = 70; var yoff2 = 25; var inc2 = 3 var inc = 5; function move() { xoff += inc; if (xoff>document.body.clientWidth) {xoff=0;} ball.top = yoff; ball.left = xoff; setTimeout("move()", 50);} function move2() { xoff2 += inc2; if (xoff2>document.body.clientWidth) {xoff2=0;} bird2.top = yoff2; bird2.left = xoff2; setTimeout("move2()", 50);} var NN = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) >= 4); var ball = (NN) ? document.ball : document.all.ball.style; move(); var NN2 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) >= 4); var bird2 = (NN2) ? document.bird2 : document.all.bird2.style; move2(); Отображаются они на этой странице - http://roldotech.jino-net.ru , можете посмотреть. Так вот, они все по разному работают в браузерах - ИЕ, опере и ФФ, причем в опере 9.24 работает не так, как в Опере 9.5! Птицы в одном браузере торчат внизу экрана, в другом - нормально летают. Рыба в одном браузере не может выплыть за поверхность, потому что стоит ограничитель положения, в другом браузере выплывает к верхнему краю экрана. Может кто-нибудь обьяснить, почему так происходит, и подсказать, как сделать везде одинаково? Я сам в этих скриптах не силен, переделал готовые, и вот такая фигня.
-
В лягушатник, так в лягушатник, но все равно спасибо огромное, вы мне очень помогли
-
Проблема вот в чем - есть страница с фоном, я создаю Table в центре этой страницы, у таблицы будет свой фон - картинка, которая должна совпадать с общим фоном страницы, получается как бы рисунок, вписывающийся в основной фон. И вот создаю я тейбл, значит, и его положение на странице - где-то 10 пикселей от верхнего ее края! Получается, что фоновый рисунок таблицы не совпадает с фоном листа (я ж его делал как общий фон, подразумевая что верхний край таблицы будет совпадать с верхним краем страницы ПОЛНОСТЬЮ). Ну ладно, я немного подрезал фон таблицы в фотошопе, убрав сверху 10 пикселей, и в Опере стало отображаться нормально. НО! Открывая тот же документ в ИЕ, обнаруживаю, что там таблица смещается аж на 20 пикселей от верхнего края страницы!!! Так вот, можно ли сделать так, чтобы таблицы начинались сразу же с верхнего края листа?? И вообще - что делать? Безумно хочется реализовать свою идею, чтобы центральный рисунок подходил к основному фону и не смещался.