Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

Bomberus

Tripel-As

Dabei seit: 12.06.2010

Beiträge: 167

 

1 Zum Seitenanfang

Montag, 4. Juli 2011, 23:06

Javascript mehreren Objekten eine Prozedur zuweisen

Javascript-Quelltext

1
2
3
4
for (var i = 1;i< 5; i++)
{
	$("#n-box"+i).mousedown(function(){setnews(i);});
}


Also die Zuweisung der Funktion funktioniert. Beim Aufruf der Funktion ist i immer 5 . Das heißt er schreibt eigentlich:

Javascript-Quelltext

1
2
3
4
5
$("#n-box"+5).mousedown(function(){setnews(5);});
$("#n-box"+5).mousedown(function(){setnews(5);});
$("#n-box"+5).mousedown(function(){setnews(5);});
$("#n-box"+5).mousedown(function(){setnews(5);});
$("#n-box"+5).mousedown(function(){setnews(5);});


Wie kann ich diesem Phänomen Herr werden? Mein Ziel ist es, dass das so aussehen soll:

Javascript-Quelltext

1
2
3
4
$("#n-box1").mousedown(function(){setnews(1);})
$("#n-box2").mousedown(function(){setnews(2);})
$("#n-box3").mousedown(function(){setnews(3);})
$("#n-box4").mousedown(function(){setnews(4);})

Nur halt mit weniger Code, geht das ?

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Bomberus« (4. Juli 2011, 23:06)

 

cccpmik

Foren Gott

Dabei seit: 04.09.2007

Beiträge: 2 999

 

2 Zum Seitenanfang

Dienstag, 5. Juli 2011, 09:37

ein ansatz:

nimm bei deinen divs die klasse news und als name zb 1

HTML

1
<div class="n-box" name="1"></div>


dann kannste sowas machen:

Javascript-Quelltext

1
$('.n-box').mousedown(function(){setnews($('.n-box').eq(this).attr('name'))});


ist nicht getestet, kann sein dass es net geht, auf jedenfall kannst du dann beim mousedown herausfinden auf welchen div du geklickt hast, dessen namen nimmste dir dann und rufst die setnews methode auf vorteil ist, dass du dann später für weiteren setnews aufruf nichts im JS verändern musst, sondern ledeglich ein weiteren div einfügen
Mein kleines Projekt
-Cruel Online-

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »cccpmik« (5. Juli 2011, 09:37)

 

Bomberus

Tripel-As

Dabei seit: 12.06.2010

Beiträge: 167

 

3 Zum Seitenanfang

Dienstag, 5. Juli 2011, 16:23

das mit dem Name funktioniert leider nicht :S
 

cccpmik

Foren Gott

Dabei seit: 04.09.2007

Beiträge: 2 999

 

4 Zum Seitenanfang

Dienstag, 5. Juli 2011, 16:33

tja dann musst du rumprobieren..

PHP-Quelltext

1
2
3
4
5
var id;
$('.n-box').click(function(){
id =$(this).attr('name');
alert(id);
})


oder es sein lassen;)
Mein kleines Projekt
-Cruel Online-
 

Bomberus

Tripel-As

Dabei seit: 12.06.2010

Beiträge: 167

 

5 Zum Seitenanfang

Dienstag, 5. Juli 2011, 17:52

Deine Variante hat hervorragend funktioniert, danke.

Sorry, hatte mich selbst etwas vertan :S

Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von »Bomberus« (5. Juli 2011, 17:59)

 

cccpmik

Foren Gott

Dabei seit: 04.09.2007

Beiträge: 2 999

 

6 Zum Seitenanfang

Dienstag, 5. Juli 2011, 17:58

Javascript-Quelltext

1
2
3
4
5
var id;
$('.n-box').mousedown(function(){
id =$(this).attr('name');
setnews(id);
})


HTML

1
2
3
4
<div class="n-box" name="1"></div>
<div class="n-box" name="2"></div>
<div class="n-box" name="3"></div>
<div class="n-box" name="4"></div>


und das geht nicht?
Mein kleines Projekt
-Cruel Online-