Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][jQuery]jak wmixować zmienną JS do obiektu DOM jQuery
Forum PHP.pl > Forum > Przedszkole
fate
niedamrady
CODE
var tablica = ["0", "1", "2", "3", "4"];
var index;
for (index = 1; index < 5; ++index)
{



$(function() {

var $grid = $('#tp-grid'+tablica[index]),
$name = $('#name'+tablica[index]),
$close = $('#close'+tablica[index]),

....
}


mam id #tp-grid1 #tp-grid2 #tp-grid3 #tp-grid4 close i name podobnie
funkcja jQuery nad ktora pracuje wyglada tak że jest 4x to samo tylko zmieiają się te ID no i działa, ale nie moge spać wiedzac ze da sie to uproscic
Zaczalem uczyc sie wiec tablic,petli JS i laczenia i wykombinowalem po wielu probch powyzsze.

Można wmiksowywać w te jQuerowe vary coś poza 'tekstem' questionmark.gif
sciana.gif
Pyton_000
A co to to ma robić ?
Może starczy np.
  1. $('div[id^="tp-grid"]....
fate
to jest to
http://tympanus.net/Development/Stapel/
tyle zmergowane z tym
http://themeforest.s3.amazonaws.com/116_pa.../tut-index.html

dlatego zrobily mi sie 4 gridy bo 2 druga strone mi nie poszło,
a co konkretnie robi to Twoje bo probuje sie domyslec, znaleźć ale nadal nie wiem i intuacja podpowiada mi ze to nie wystarczy:)
Pyton_000
Pokaż jedną kompletną funkcję
fate
Dzięki za zainteresowanie

  1. $(function() {
  2.  
  3. var $grid = $( '#tp-grid' ),
  4. $name = $( '#name' ),
  5. $close = $( '#close' ),
  6. $loader = $( '<div class="loader"><i></i><i></i><i></i><i></i><i></i><i></i><span>Loading...</span></div>' ).insertBefore( $grid ),
  7. stapel = $grid.stapel( {
  8. randomAngle : true,
  9. delay : 50,
  10. gutter : 70,
  11. pileAngles : 5,
  12. onLoad : function() {
  13. $loader.remove();
  14. },
  15. onBeforeOpen : function( pileName ) {
  16. $name.html( pileName );
  17. },
  18. onAfterOpen : function( pileName ) {
  19. $close.show();
  20. }
  21. } );
  22.  
  23. $close.on( 'click', function() {
  24. $close.hide();
  25. $name.empty();
  26. stapel.closePile();
  27. } );
  28.  
  29. } );
  30.  


numerki są przy #grid, #close, #name
Pyton_000
I jeszcze strukturę HTML pojedynczego Grida i całej otoczki która jest niezbędna
fate
widać można, dziś znalazłem takie coś:
http://stackoverflow.com/questions/5891840...query-selectors

w domu wypróbuje, jak nie zadziała to podeślę paczuszkę do zabawy.

Prawdopodobnie chodzi o to ze przy loopowaniu zostaje dzialajaca tylko ostatnia funkcja z ostatnim indexem przy gridzie.
Sama składnie z 1 posta jest ok

Co zaś tu jest nie tak:
  1. var $
  2. grid=[];
  3. //lub
  4. var $grid=["","","","",""];
  5.  
  6. var $grid[index] = $( '#tp-grid' + index ),
  7. //lub
  8. var $grid+index = $( '#tp-grid' + index ),
  9. //jak to ugryść O.o
  10.  



SyntaxError: missing ; before statement

co_jest.gif

ROZWIĄZANIE:
Zamiast loopować w JS trzeba było użyć
http://api.jquery.com/jQuery.each/

Dla pytona 1plusik za chęci

  1. $.each([ 1, 2, 3, 4 ], function( index, value ) {
  2. $(function() {
  3.  
  4. var $grid = $( '#tp-grid' + value ),
  5. $name = $( '#name' + value ),
  6. $close = $( '#close' + value ),
  7. $loader = $( '<div class="loader"><i></i><i></i><i></i><i></i><i></i><i></i><span>Loading...</span></div>' ).insertBefore( $grid ),
  8. stapel = $grid.stapel( {
  9. randomAngle : true,
  10. delay : 50,
  11. gutter : 70,
  12. pileAngles : 5,
  13. onLoad : function() {
  14. $loader.remove();
  15. },
  16. onBeforeOpen : function( pileName ) {
  17. $name.html( pileName );
  18. },
  19. onAfterOpen : function( pileName ) {
  20. $close.show();
  21. }
  22. } );
  23.  
  24. $close.on( 'click', function() {
  25. $close.hide();
  26. $name.empty();
  27. stapel.closePile();
  28. } );
  29.  
  30. } );
  31.  
  32. });
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.