Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   глобальная переменная (https://javascript.ru/forum/jquery/34060-globalnaya-peremennaya.html)

dubovitskii 19.12.2012 12:57

глобальная переменная
 
помогите разобраться с проблемой...
есть код:
var id;
              $('#iPhone').click(function(){

                   window.id=($(this).attr("id"));
                 
              });

              $('#Blackberry').click(function(){

                  window.id=($(this).attr("id"));
                
              });
              alert("id = "+id);

выводит сразу же alert и undefined, а мне нужно чтоб выводилось по нажатию на тот или иной div.
Как это реализовать???

ОлегА 19.12.2012 13:35

var id;
              $('#iPhone').click(function(){

                   window.id=($(this).attr("id"));
                 alert("id = "+id);
              });

              $('#Blackberry').click(function(){

                  window.id=($(this).attr("id"));
                alert("id = "+id);
              });

dubovitskii 19.12.2012 13:42

это я делал, но мне нужно по полученной id дальше вне этих двух функций писать условия

ОлегА 19.12.2012 13:44

var id;
              $('#iPhone').click(function(){

                  id = $(this).attr("id");
                              
              });

              $('#Blackberry').click(function(){

                  id = $(this).attr("id");

              });


после срабатывания клика по одному из дивов твой id поменяется

dubovitskii 20.12.2012 08:53

спасибо

dubovitskii 20.12.2012 11:17

но все равно id не отрабатывает вне функции

dubovitskii 20.12.2012 11:23

вот к примеру
var id;
	              $('#iPhone').click(function(){
	                  id = $(this).attr("id");
	              });
	              $('#Blackberry').click(function(){
                          id = $(this).attr("id");
                      });

                      if(id=="iPhone"){alert("id = "+id);}


ничего не выводит...

Sanda 20.12.2012 12:28

А почему должен выводить?
Советую разобраться с тем, что делает функция $().click. И в какой момент выполняется тот код, который в ней написан. И, соответственно, в какой момент надо вызывать alert, чтобы значение в переменной id уже было задано.
В данный момент код говорит "когда юзер кликнет на iPhone или Blackberry, запиши ID кнопки. Но сразу же, не дожидаясь его клика, проверь-ка, не лежит ли уже в переменной id значение "iPhone". И, если оно магическим образом там появилось (хотя клика-то ещё наверняка не было), выведи его alert-ом".

ОлегА 20.12.2012 15:58

Цитата:

Сообщение от dubovitskii
if(id=="iPhone"){alert("id = "+id);}

не выводит, потому что это события отрабатывает раньше, чем события клика и даже, если вы кликнете, он все равно ниче не выведет, потому что в момент когда вы кликнете этот код уже отработает


Часовой пояс GMT +3, время: 07:52.