Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
Елена Едыгарова
34 / 20 / 14
Регистрация: 24.01.2014
Сообщений: 80
1

И снова глобальная переменная в js. Как изменить значение глобальной переменной в одной функции и увидеть это значение в другой функции?

05.03.2014, 13:41. Просмотров 3572. Ответов 4
Метки нет (Все метки)

Это учебное задание. Помогите, пожалуйста, разобраться почему func1 видит какую-то новую переменную t вместо window.t?

Пробовала объявлять переменную в начале скрипта через var без инициализации и с инициализацией. Не могу добиться того, чтобы func1 знала - на какую картинку нажал пользователь.

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function showpng(n) {//Вызывается при нажатии на ссылке-картинке - принимает n - номер картинки
    window.t = n;//присваиваем значение переменной
    alert(t);//показываем значение на экран
    newpage = window.open("HTML_img1.htm", "png", "width=60,height=40,resizeble=yes,scrollbars=yes,status=yes");//открываем новое окно
    newpage.focus();//устанавливаем фокус
    newpage.moveTo(0, 0);//сдвигаем в левый верхний угол
    newpage.resizeTo(680, 500);//устанавливаем размер
    
}
 
function func1() {
    alert(window.t);//а здесь мы уже получаем undef - почему?
    switch (window.t) {
        case 1:
            document.images["picture"].src = "img/img1big.png";
            break;
        case 2:
            document.images["picture"].src = "img/img2big.png";
            break;
        case 3:
            document.images["picture"].src = "img/img3big.png";
            break;
    }
}
 Комментарий модератора 
Прикрепляйте файлы и изображения к сообщениям.
http://www.cyberforum.ru/about-forum/thread103521.html#post594251
0
Вложения
Тип файла: rar 05_0_20140302.rar (1.22 Мб, 5 просмотров)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2014, 13:41
Ответы с готовыми решениями:

Не могу получить значение глобальной переменной из функции
var pages; function getXmlHttp(){ var httppages; try {httppages = new...

Глобальная переменная в функции
Вот пример кода из книги var scope = "global"; function f(){ ...

Как передать значение из одной функции в другую?
Подскажите, пожалуйста, как сделать так: Я хочу реализовать движение...

Не меняется значение глобальной переменной
Недавно начал учить JS, но знаю и другие языки; Столкнулся с проблемой: данный...

Функция не меняет значение глобальной переменной
Функция не меняет значение переменной, а нужно чтобы меняло. В JavaScript я...

4
Svid_off
82 / 82 / 38
Регистрация: 15.03.2013
Сообщений: 280
05.03.2014, 18:24 2
Честно говоря, так и не смог понять, что Вы хотите.
У Вас есть файл HTMLPage1.htm, нем три картинки (их, кстати, с точки зрения семантики лучше организовать списком), на onclick которых повешена func(). Возникает вопрос: где именно в этом файле Вы хотите, чтобы
чтобы func1 знала - на какую картинку нажал пользователь.
?

У Вас так же есть файл HTML_img1.htm, и в нем тоже все в порядке с глобальной переменной t, она как в самом начале скрипта JScript1.js инициализируется в var t=1;, так и остается с этим значением, потому что в файле HTML_img1.htm не вызывается функция (func), которая могла бы это значение поменять.

Так что с глобальной переменной всё в порядке

Я правильно понял, что Вы хотели, чтобы изменения сделанные в одном файле, были доступны для другого?
1
Елена Едыгарова
34 / 20 / 14
Регистрация: 24.01.2014
Сообщений: 80
05.03.2014, 19:59  [ТС] 3
Хм, видимо, именно этого я и хотела. Вы правильнее поняли, чем я. Просто до меня не доходило сразу, что это разные файлы и скрипт просто отрабатывает заново. А Вы вот разъяснили)

И что в этом случае делать?
0
kalabuni
Нарушитель
3310 / 2623 / 629
Регистрация: 18.04.2012
Сообщений: 7,913
05.03.2014, 20:29 4
в том файле, в котором переменная изменяется, надо сохранять её значение в куках или в консоли
ну а в том, в котором её значение требуется - нужно прочитывать куки или консоль и брать оттуда это значение
1
Galphimbl
22 / 22 / 13
Регистрация: 13.01.2013
Сообщений: 125
06.03.2014, 13:42 5
Лучший ответ Сообщение было отмечено Елена Едыгарова как решение

Решение

а почему бы просто не использовать opener
Javascript
1
if (window.opener != null) var t = window.opener.t;
1
06.03.2014, 13:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.03.2014, 13:42

Значение локальной переменной передать глобальной
Доброго дня господа. Подскажите такой вопрос, есть локальная переменная,...

Не могу вывести значение глобальной переменной измененной в во вложенной фукции
Здравствуйте! Проблема следующая, имеется код: var globalVar = "a"; ...

Не получается присвоить значение переменной в функции
Недавно начал изучать Ajax, но без помощи JQuery. Есть вот такая функция: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru