ugrás a tartalomhoz

összeakadtak a .js fájlok

Medve · 2009. Már. 24. (K), 15.44
hali,
A helyzte az, hogy írtam két scriptet.Az egyik egy analóg óra a másik pedig egy galéria. Kiraktam mindkettőt egy-egy .js fájlba külön külön.Ezútán hivatkoztam a weboldalon rá így:

<head>
<script language="JavaScript" src="ora.js"></script>
<script language="JavaScript" src="galeria.js"></script>
</head>
külön külön megy mindegyik de ha egy oldalra akarom berakni mind a kettőt akkor már nem megy csak az amelyiket legalulra írtam.Eddig azt hittem értek hozzá, de most ezzel beszorultam és szeretném a segítségét kérni annak aki már találkozott már ilyennnel.
elöre is köszi.:D

Medve
 
1

body onload

gex · 2009. Már. 24. (K), 15.58
a múltkori témád alapján valószínűleg a második scriptben mindig felülírod az elsőben már egyszer beállított body onload eseményt. ha továbbra sem akarsz semmilyen eseménykezelőt alkalmazni, akkor egy <body onload="egyik();masik();"> segíthet. persze egy eseménykezelő elegánsabb lenne.
2

attachEvent

demo · 2009. Már. 24. (K), 17.34
vagy add hozzá eképpen az egyes eseményeket, így nem írják felül egymást.

if (window.attachEvent) {
	window.attachEvent("onload", myfunction);// IE
} else {
	window.addEventListener("load", myfunction, false);// DOM
}
off: Medve nicken játszol is?
3

nem jó így sajnos így se. A

Medve · 2009. Már. 24. (K), 22.33
nem jó így sajnos így se.
A html oldalon így hivatkozok rá:

<head>
<title>galeria</title>
<meta HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<link rel=Stylesheet href="stiluslap.css" type="text/css" MEDIA=screen>
<script type="text/Javascript" src="galeria.js"></script>
<script type="text/Javascript" src="ora.js"></script>
</head>



<body onload="analogora(800,600);galeria(280,300)">

az óra az ugy mükszik hogy elöbb kirakja körbe a számokat majd csinál egy csomó mutatót "."-okból. a galeria pedig létrehoz egy keret div-et amibe belerak egy tartalom div-et és abba pedig kicsi 100*100-as képeket.A jelenlegi kóddal azt csinálja kirakja a számokat az órához és a galeriát is de a mutatók elvesznek.Mondtátok elegánsabb lenne egy eseménykezelőt használni.Mutatnátok nekem egy eseménykezelőt, ha szépen kérem?




Amugy én csak ismereteket szerzek webprogiból Medve néven és nem szoktam játszani ezzel a névvel.
4

más a probléma

gex · 2009. Már. 24. (K), 22.40
a témanyitó hozzászólásban azt írtad, hogy csak az megy amelyiket később linkeled be. most meg azt, hogy mindkettő megy, csak rosszul.

melyik az igaz?
5

igazából mindkettő. mert ugye

Medve · 2009. Már. 25. (Sze), 15.17
igazából mindkettő.
mert ugye egyszer lefut az óra és kidobja a hátlapját aztán szerintem a galeria.js felülírja az egészet és azért nem mozog az óra utána.
6

.

domel · 2009. Már. 25. (Sze), 22.03
Tedd fel valahova, majd kibelezzük! :)
7

okés, ide jó lesz?

Medve · 2009. Már. 26. (Cs), 07.33
okés, ide jó lesz?
8

jo ezt igennek

Medve · 2009. Már. 27. (P), 11.09
jo ezt igennek veszem:D

szoval a galeria.js az a következőképpen néz ki:

var kepek = new Array();
var szoveg = new Array();
var n;
var tempo=10;
var oszlop=3;

function galeria(x,y){
var body,keret,tartalom,sor,form,gomb1,gomb2,br;
var kepx=30;
var kepy=30;
var db=0;

body=document.getElementsByTagName('body')[0];
form=document.createElement('form');
form.setAttribute('style','position:absolute;left:'+(x+oszlop*130+40)+'px;top:'+y+'px;');

gomb1=document.createElement('input');
gomb1.setAttribute('type','button');
gomb1.setAttribute('onMouseDown','fel()');
gomb1.setAttribute('onMouseUp','stop()');
gomb1.setAttribute('value','fel');
form.appendChild(gomb1);

br=document.createElement('br');
form.appendChild(br);

gomb2=document.createElement('input');
gomb2.setAttribute('type','button');
gomb2.setAttribute('onMouseDown','le()');
gomb2.setAttribute('onMouseUp','stop()');
gomb2.setAttribute('value','le ');
form.appendChild(gomb2);

keret=document.createElement('div');
keret.setAttribute('style','width:'+(oszlop*130+30)+'px;height:400px;position:absolute;left:'+x+'px;top:'+y+'px;border:2px ridge white;overflow:hidden;');
keret.setAttribute('ID','keret');

tartalom=document.createElement('div');
tartalom.setAttribute('style','position:absolute;left:0px;top:0px;');
tartalom.setAttribute('ID','tartalom');

init();

sor=kepek.length/oszlop;


for (var j=0; j<= sor;j++){
for (var i=0; i<=oszlop-1 ;i++){
kepletrehozo('kep'+db,kepek[db],szoveg[db],tartalom,100,100,kepx,kepy);
kepx=kepx+130;
db++;
}
kepy=kepy+130;
kepx=30;
}

keret.appendChild(tartalom);
body.appendChild(form);
body.appendChild(keret);
}

function init(){
kepek[0]="Kepek/album/1.jpg";
kepek[1]="Kepek/album/2.jpg";
kepek[2]="Kepek/album/3.jpg";
kepek[3]="Kepek/album/4.jpg";
kepek[4]="Kepek/album/5.jpg";
kepek[5]="Kepek/album/6.jpg";
kepek[6]="Kepek/album/7.jpg";
kepek[7]="Kepek/album/8.jpg";
kepek[8]="Kepek/album/9.jpg";
kepek[9]="Kepek/album/10.jpg";
kepek[10]="Kepek/album/11.jpg";
kepek[11]="Kepek/album/12.jpg";
kepek[12]="Kepek/album/13.jpg";

n=kepek.length;

szoveg[0]="fika1";
szoveg[1]="fika2";
szoveg[2]="fika3";
szoveg[3]="fika4";
szoveg[4]="fika5";
szoveg[5]="fika6";
szoveg[6]="fika7";
szoveg[7]="fika8";
szoveg[8]="fika9";
szoveg[9]="fika10";
szoveg[10]="fika11";
szoveg[11]="fika12";
szoveg[12]="fika13";
}

function kepletrehozo(nev,eleresiut,cim,tartalom,a,b,x,y){
var kep;
kep=document.createElement('img');
kep.setAttribute('style','width:'+a+'px;height:'+b+'px;position:absolute;left:'+x+'px;top:'+y+'px;');
kep.setAttribute('onClick','mutatnagyban()');
kep.setAttribute('title',cim);
kep.setAttribute('ID',nev);
kep.setAttribute('src',eleresiut);
tartalom.appendChild(kep);
}

function fel(){
if (window.lefele){window.clearInterval(lefele);}
if (parseInt(tartalom.style.top) <= -10){
tartalom.style.top=parseInt(tartalom.style.top)+tempo;
felfele=window.setInterval(fel,1000);
}
}

function le(){
if (window.felfele){){window.clearInterval(felfele);}
if (parseInt(tartalom.style.top) >= n/oszlop*130*(-1)){
tartalom.style.top=parseInt(tartalom.style.top)-tempo;
lefele=window.setInterval(le,1000);
}
}

function stop(){
if (window.lefele){window.clearInterval(lefele);}
if (window.felfele){window.clearInterval(felfele);}
}

function mutatnagyban(){

}

az ora.js pedig így :
var most=new Date();
var M=5;
var P=4;
var O=3;
var kar=".";
var tav=65;
var szin="#990000";


function analogora(x,y){
var body = document.getElementsByTagName('body')[0];
var oralap = document.createElement('DIV');
oralap.setAttribute('style', 'position:absolute;top:'+y+'px;left:'+x+'px;width:140px;height:150px;');
oralap.setAttribute('id', 'oralap');
body.appendChild(oralap);
init(oralap);
hatlap(oralap);
var mpercek = window.setInterval(masodperc, 1000);
var percek = window.setInterval(perc, 1000);
var orak = window.setInterval(ora, 1000);
}

function init(oralap){
var mnev, pnev, onev , item, b;


for (var i=1 ; i <= M ; i++){
mnev = "m"+i;
item = document.createElement('DIV');
item.setAttribute('style', 'position:absolute;color:#ff0000;font-size:20pt;top:0;left:0;');
item.setAttribute('id', mnev);
b = document.createElement('B');
b.appendChild(document.createTextNode(kar));
item.appendChild(b);
oralap.appendChild(item);
window[mnev] = item;
}

for (var i=1 ; i <= P ; i++){
pnev="p"+i;
var item = document.createElement('DIV');
item.setAttribute('style', 'position:absolute;color:'+szin+';font-size:20pt;');
item.setAttribute('id', pnev);
b = document.createElement('B');
b.appendChild(document.createTextNode(kar));
item.appendChild(b);
oralap.appendChild(item);
window[pnev] = item;
}

for (var i=1 ; i <= O ; i++){
onev = "o"+i;
item = document.createElement('DIV');
item.setAttribute('style', 'position:absolute;color:'+szin+';font-size:20pt;');
item.setAttribute('id', onev);
b = document.createElement('B');
b.appendChild(document.createTextNode(kar));
item.appendChild(b);
oralap.appendChild(item);
window[onev] = item;
}
item = document.createElement('DIV');
item.setAttribute('style', 'position:absolute;color:'+szin+';font-size:20pt;left:68px;top:55px;');
item.setAttribute('id', 'kozeppont');
b = document.createElement('B');
b.appendChild(document.createTextNode(kar));
item.appendChild(b);
oralap.appendChild(item);
}

function masodperc(most){
var bal,fent;

mszog = - most.getSeconds() * Math.PI / 30 ;

bal=Math.sin(mszog);
fent=Math.cos(mszog);

m1.style.top=(fent*10)+tav - 10+ "px";
m1.style.left=((bal*10)+3)+tav + "px";

m2.style.top=(fent*20)+tav -10 + "px";
m2.style.left=((bal*20)+3)+tav + "px";

m3.style.top=(fent*30)+tav- 10 + "px";
m3.style.left=((bal*30)+3)+tav + "px";

m4.style.top=(fent*40)+tav -10 + "px";
m4.style.left=((bal*40)+3)+tav + "px";

m5.style.top=(fent*50)+tav- 10 + "px";
m5.style.left=((bal*50)+3)+tav + "px";
}

function perc(most){
var bal,fent;

mszog = - most.getMinutes() * Math.PI / 30 + Math.PI;

bal=Math.sin(mszog);
fent=Math.cos(mszog);

p1.style.top=(fent*10)+tav- 10 + "px";
p1.style.left=((bal*10)+3)+tav + "px";

p2.style.top=(fent*20)+tav- 10 + "px";
p2.style.left=((bal*20)+3)+tav + "px";

p3.style.top=(fent*30)+tav- 10 + "px";
p3.style.left=((bal*30)+3)+tav + "px";

p4.style.top=(fent*40)+tav- 10 + "px";
p4.style.left=((bal*40)+3)+tav + "px";

}

function ora(most){
var bal,fent;

mszog = - most.getHours() * (2*Math.PI / 12) + Math.PI;

bal=Math.sin(mszog);
fent=Math.cos(mszog);

o1.style.top=(fent*10)+tav- 10 + "px";
o1.style.left=((bal*10)+3)+tav + "px";

o2.style.top=(fent*20)+tav- 10 + "px";
o2.style.left=((bal*20)+3)+tav + "px";

o3.style.top=(fent*30)+tav- 10 + "px";
o3.style.left=((bal*30)+3)+tav + "px";




}

function hatlap(oralap){
var szog=0;
var bal, fent, item, b;

for (var i=12; i >= 10 ;i--){
bal=-Math.sin(szog)*60+tav;
fent=-Math.cos(szog)*60+tav;

item = document.createElement('DIV');
item.setAttribute('style', 'position:absolute;top:'+fent+'px;left:'+bal+'px;color:'+szin+';font-size:15pt;');
item.setAttribute('id', 'ora'+i);
b = document.createElement('B');
b.appendChild(document.createTextNode(i));
item.appendChild(b);
oralap.appendChild(item);

szog=szog+(Math.PI/6);
}
for (var i=9; i >= 1 ;i--){
bal=-Math.sin(szog)*60+tav;
fent=-Math.cos(szog)*60+tav;

item = document.createElement('DIV');
item.setAttribute('style', 'position:absolute;top:'+fent+'px;left:'+bal+'px;color:'+szin+';font-size:15pt;');
item.setAttribute('id', 'ora'+i);
b = document.createElement('B');
b.appendChild(document.createTextNode(" "+ i));
item.appendChild(b);
oralap.appendChild(item);

szog=szog+(Math.PI/6);
}
}



és ugye így hivatkozok rá a HTMl részben:

<head>
<title>galeria</title>
<script type="text/Javascript" src="ora.js"></script>
<script type="text/Javascript" src="galeria.js"></script>
</head>



<body onload="analogora(800,600),galeria(280,300)">
9

Sajnos ilyen nálam is előfordult.

Tanul0 · 2009. Már. 27. (P), 11.33
Sajnos ilyen nálam is előfordult egy divslider meg egy openwysiwyg között :( Azt szerettem volna megoldani, hogy egy fórumnál a hozzászólás szépen jelenjen meg, de le kellet róla tennem :(
10

.

domel · 2009. Már. 29. (V), 00.43
ez eszméletlen kód! Egy darabig nézegettem, de beleuntam.

function masodperc(most){
var bal,fent;

mszog = - most.getSeconds() * Math.PI / 30 ;

bal=Math.sin(mszog);
fent=Math.cos(mszog);

m1.style.top=(fent*10)+tav - 10+ "px";
m1.style.left=((bal*10)+3)+tav + "px";

m2.style.top=(fent*20)+tav -10 + "px";
m2.style.left=((bal*20)+3)+tav + "px";

m3.style.top=(fent*30)+tav- 10 + "px";
m3.style.left=((bal*30)+3)+tav + "px";

m4.style.top=(fent*40)+tav -10 + "px";
m4.style.left=((bal*40)+3)+tav + "px";

m5.style.top=(fent*50)+tav- 10 + "px";
m5.style.left=((bal*50)+3)+tav + "px";
}

var most=new Date(); az elején

function masodperc(most){ -ban miért van ott a "most"??
a functionnal új értéket adsz a mostnak(a semmit), úgyhogy a semmiből nem veszi ki a másodpercet. Ennek ellenére nem sikerült működésre bírni, van benne 1000 hiha
11

function init() 2x

zila · 2009. Már. 30. (H), 16.27
Mindkét kódban van init nevű függvény, persze eltérő tartalommal. Ez nem túl egészséges dolog...

Nem néztem végig, csak a függvényneveken szaladtam át. Ja ha kódot teszel a hozzászólásokba akkor használd a kódszinezőt. (olvasd el a hozzászólás doboz alján található kis szöveget és esetleg a a További lehetőségek oldalon a a teljes helpet...)