Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nazwa pola ze zmiennej
WiruSSS
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 7
Dołączył: 3.02.2007

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


Czy jest jakiś sposób aby w tym przykładzie

[JAVASCRIPT] pobierz, plaintext
  1. var direction = 'left',
  2. value = 100;
  3.  
  4. $('#jakis_tam_element').animate({direction: value+'px'});
[JAVASCRIPT] pobierz, plaintext


parametr animate (czy jakiejkolwiek innej metody) przyjął nazwę ze zmiennej? W przykładzie powyżej direction jest traktowane dosłownie.

[EDIT]
...oczywiście chodzi mi o rozwiązanie inline a nie w stylu

[JAVASCRIPT] pobierz, plaintext
  1. var direction = 'left',
  2. value = 100,
  3. slide = {};
  4. slide[direction] = value;
  5.  
  6. $('#jakis_tam_element').animate(slide);
[JAVASCRIPT] pobierz, plaintext


Ten post edytował WiruSSS 13.09.2013, 17:37:24
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
kamil4u
post
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Cytat
...oczywiście chodzi mi o rozwiązanie inline a nie w stylu

Właśnie tak to się robi. Zostaje jeszcze eval, ale to najgorsze rozwiązanie.

Opisz po co Ci to - może znajdziemy jeszcze lepsze rozwiązanie.
Go to the top of the page
+Quote Post
WiruSSS
post
Post #3





Grupa: Zarejestrowani
Postów: 83
Pomógł: 7
Dołączył: 3.02.2007

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


właśnie po to, z tym ze tych parametrów będzie więcej, a ich nazwy będą zależne od położenia samego obiektu względem rodzica
Go to the top of the page
+Quote Post
kamil4u
post
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


To zrób funckcję i po problemie (IMG:style_emoticons/default/smile.gif)

Kod
function mojaAnimacja( el, type, value ){
     json= {};
     json[ type ] = value;

     $( el ).animate( json );
}

mojaAnimacja( "#moje-id", "left", "300px");
mojaAnimacja( "#moje-id", "top", "300px");
mojaAnimacja( "#moje-id", "width", "300px");


Oczywiście lepiej będzie jak stworzysz to jako własną funkcję/metodę jQuery: http://jquery-howto.blogspot.com/2008/12/h...nctions-to.html

Pozdrawiam
Go to the top of the page
+Quote Post
PrinceOfPersia
post
Post #5





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

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


też mi się wydaje, że to co zostało już powiedziane: albo w kilku linijkach, albo zrobić funkcję.

chociaż przykład mojego przedmówcy w sumie niewiele rozwiązuje, bo i tak trzeba ileś linijek wrzucić na pisanie mojaAnimacja. Może coś takiego ?

Kod
    function makeObject() {
        var obj = {};
        Array.prototype.slice.call(arguments).forEach(function(kv) {
            obj[kv[0]] = kv[1];        
        });
        return obj;
    };

a potem:

Kod
    var direction = 'left', value = 400, direction2 = 'top', value2 = 60;
      
    $("#test").animate(makeObject([direction, value], [direction2, value2]));


(IMG:style_emoticons/default/smile.gif)

Go to the top of the page
+Quote Post
WiruSSS
post
Post #6





Grupa: Zarejestrowani
Postów: 83
Pomógł: 7
Dołączył: 3.02.2007

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


...jednak zostałem przy opcji z dodatkową zmienną, efekt można zobaczyć pod tym samym linkiem. Jedyne co mi się nie podoba, to to, że zmienne muszę tworzyć 3 razy. Jak najlepiej przekazać te zmienne do metod showMenu i hideMenu, przez parametry? Czy może jest lepszy sposób?

http://jsfiddle.net/WiruSSS/zPXUK/

Ten post edytował WiruSSS 14.09.2013, 16:11:53
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: 21.09.2025 - 04:46