Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][jQuery]jak wmixować zmienną JS do obiektu DOM jQuery, czy mozna
fate
post
Post #1





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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' (IMG:style_emoticons/default/questionmark.gif)
(IMG:style_emoticons/default/sciana.gif)
Go to the top of the page
+Quote Post
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


A co to to ma robić ?
Może starczy np.
  1. $('div[id^="tp-grid"]....
Go to the top of the page
+Quote Post
fate
post
Post #3





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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:)
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Pokaż jedną kompletną funkcję
Go to the top of the page
+Quote Post
fate
post
Post #5





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Pyton_000
post
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


I jeszcze strukturę HTML pojedynczego Grida i całej otoczki która jest niezbędna
Go to the top of the page
+Quote Post
fate
post
Post #7





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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

(IMG:style_emoticons/default/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. });
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 10:49