Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2011, 16:17   #1
Svetev
Новичок
Джуниор
 
Регистрация: 11.03.2011
Сообщений: 1
По умолчанию Проблема монобраузерности

Скрипт (как скринсейвер "сквозь вселенную") работает в IE и не работает в остальных (Mozilla, Opera, Chrome). В жизни обычно наоборот, но здесь...
Подскажите как победить эту проблему монобраузерности?

javascript:

Код:
<Style Type="Text/CSS">
<!--
.Congrats {
font-family: Impact;
font-size: 26px;
font-weight: normal;
}
.You {
font-family: Impact;
font-size: 26px;
font-weight: normal;
color: #FFFFFF;
}
.Close {
font-family: Impact;
font-size: 18px;
font-weight: normal;
}
A:Link {color:#FFE466;text-decoration: none;}
A:Visited {color:#FFE466;text-decoration: none;}
A:Active {color:#FFE466;text-decoration: none;}
A:Hover {color:#FFFFFF;text-decoration: underline;}
 -->
</Style>
<SCRIPT language=javascript>
<!--//
function right(e) {
  if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2)) return false;
  else if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2 || event.button == 3)) {
    alert("Function disabled!");
    return false;}
  return true;}
//-->
</SCRIPT>
<Script Language="JavaScript1.2">
<!--
grphcs=new Array(5)
 
Image0=new Image();
Image0.src=grphcs[0]="http://i2.photobucket.com/albums/y50/cutespot/blinker11.gif"
Image1=new Image();
Image1.src=grphcs[1]="http://i2.photobucket.com/albums/y50/cutespot/blinker11.gif"
Image2=new Image();
Image2.src=grphcs[2]="http://i2.photobucket.com/albums/y50/cutespot/blinker11.gif"
Image3=new Image();
Image3.src=grphcs[3]="http://i2.photobucket.com/albums/y50/cutespot/blinker11.gif"
Image4=new Image();
Image4.src=grphcs[4]="http://i2.photobucket.com/albums/y50/cutespot/blinker11.gif"
 
Amount=20;
Ypos=new Array();
Xpos=new Array();
Zpos=new Array();
//SpeedX=new Array();
//SpeedY=new Array();
ScrXpos=new Array();
ScrYpos=new Array();
Speed=new Array();
Size=new Array();
Step=new Array();
ns=(document.layers)?1:0;
ie=document.all&&navigator.userAgent.indexOf("Opera")==-1
 
if (ns){
for (i = 0; i < Amount; i++){
 var P=Math.floor(Math.random()*grphcs.length);
 rndPic=grphcs[P];
 document.write("<LAYER NAME='sn"+i+"' LEFT=0 TOP=0><img src="+rndPic+"></LAYER>");
} //end for
} //end if
else if (ie){ //IE
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i = 0; i < Amount; i++){
 document.write('<img id="si'+i+'" src="'+grphcs[Math.round((i+1)*(grphcs.length-1)/Amount)]+'"style="position:absolute;top:0px;left:0px">');
}
document.write('</div></div>');
}
 
if (ie||ns){
WinHeight=(ns)?window.innerHeight-20:window.document.body.clientHeight;
WinWidth=(ns)?window.innerWidth-70:window.document.body.clientWidth;
for (i=0; i < Amount; i++){
  Speed[i]=(i+1)*6/Amount+4; //speed range from 4 to 10
  Xpos[i] = (Math.random()*WinWidth-WinWidth/2)*(Amount-i/3)/Amount;
  Ypos[i] = (Math.random()*WinHeight-WinHeight/2)*(Amount-i/3)/Amount;
  Zpos[i] = Math.random()*900*(Amount-i/3)/Amount+100;
}
}
 
function fly(){
var WinHeight=(ns)?window.innerHeight-20:window.document.body.clientHeight;
var WinWidth=(ns)?window.innerWidth-70:window.document.body.clientWidth;
var hscrll=(ns)?window.pageYOffset:document.body.scrollTop;
 
for (i=0; i < Amount; i++){
 Zpos[i]-=Speed[i];
 if (ScrXpos[i]>WinWidth || ScrXpos[i]<0 || ScrYpos[i]>WinHeight || ScrYpos[i]<0 || Zpos[i]<=0) {
  Speed[i]=(i+1)*6/Amount+4; //speed range from 4 to 10
  Xpos[i] = (Math.random()*WinWidth-WinWidth/2)*(Amount-i/3)/Amount;
  Ypos[i] = (Math.random()*WinHeight-WinHeight/2)*(Amount-i/3)/Amount;
  Zpos[i] = Math.random()*900*(Amount-i/3)/Amount+100;
 }
 ScrXpos[i]=Xpos[i]/Zpos[i]*100 + WinWidth/2;
 ScrYpos[i]=Ypos[i]/Zpos[i]*100 + WinHeight/2;
 
 if (ns){
  document.layers['sn'+i].left=ScrXpos[i];
  document.layers['sn'+i].top=ScrYpos[i]+hscrll;
 }
 else{ //IE
  eval("document.all.si"+i).style.left=ScrXpos[i];
  eval("document.all.si"+i).style.top=ScrYpos[i]+hscrll;
 }
} //end for
setTimeout('fly()',20);
} //end fly
 
if (ie||ns)
window.onload=fly
//-->
</Script>
Svetev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37