Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.02.2011, 13:49
Новичок на форуме
Отправить личное сообщение для pine Посмотреть профиль Найти все сообщения от pine
 
Регистрация: 17.02.2011
Сообщений: 7

Динамическая смена картинки
Скрипт меняет картинку при клике на соответствующей ссылке - Image1, Image2, Image3. Задача иметь в распоряжении информацию об имене текущей (установленной) картинки - currentfile. Что-то у меня не получается вернуть ее из функции change(file):

<html>
<head>
<title>onclick.html</title>
<SCRIPT LANGUAGE="JavaScript">
function change(file) {
document.name1.src=file;
currentfile=file;
return currentfile;
}
</SCRIPT>
</head>
<body>
<img name="name1" src="image1.jpg" border="0">
<br>
<script>
var currentfile="";
document.write('<a href="#" onclick="change(\'image1.jpg\');">Image1</a><br>');
document.write('<a href="#" onclick="change(\'image2.jpg\');">Image2</a><br>');
document.write('<a href="#" onclick="change(\'image3.jpg\');">Image3</a><br>');
document.write('Currentfile='+ currentfile);
</script>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 17.02.2011, 14:38
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Цитата:
var currentfile="";
document.write('<a href="#" onclick="change(\'image1.jpg\');">Image1</a><br>');
document.write('<a href="#" onclick="change(\'image2.jpg\');">Image2</a><br>');
document.write('<a href="#" onclick="change(\'image3.jpg\');">Image3</a><br>');
document.write('Currentfile='+ currentfile);
В первой строчке, вы же очищаете эту переменную и больше ей ничего не присваиваете.
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #3 (permalink)  
Старый 17.02.2011, 15:03
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

<img id="image" onload="alert(this.src)" />

<a href="javascript:void(0)" onclick="document.getElementById('image').src = 'http://javascript.ru/forum/images/ca_serenity/misc/logo.gif' ">javascript</a>
<a href="javascript:void(0)" onclick="document.getElementById('image').src = 'http://img.yandex.net/i/www/logo.png' ">yandex</a>
<a href="javascript:void(0)" onclick="document.getElementById('image').src = 'http://www.google.ru/images/logos/ps_logo2.png' ">google</a>
__________________
.
Ответить с цитированием
  #4 (permalink)  
Старый 17.02.2011, 16:38
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

pine,
код рабочий .
достаточно заменить в
function change(file) {
document.name1.src=file;
currentfile=file;
return currentfile;
}

return currentfile; на allert(currentfile);
ну а то что этой строкой не вернётся document.write('Currentfile='+ currentfile);-это однозначно
причина одна-она выполняется один раз в момент загрузки страницы и больше никогда и изменения currentfile на ней никак не отразятся.и выполниться тем что в переменной а в ней пустота

Последний раз редактировалось dmitriymar, 17.02.2011 в 16:58.
Ответить с цитированием
  #5 (permalink)  
Старый 17.02.2011, 20:45
Новичок на форуме
Отправить личное сообщение для pine Посмотреть профиль Найти все сообщения от pine
 
Регистрация: 17.02.2011
Сообщений: 7

dmitriymar!
Alert мне не годится, потому что мне нужна именно переменная currentfile для того чтобы в зависимости от включенной картинки производить далее определенные действия в скрипте. Например, в какое-то время пользователь может изменить цвет фона вокруг картинки.
Я перепробовал много разных вариантов прежде чем обратиться в форум. Может можно путем вставки кода в

document.write('<a href="#" onclick="change(\'image1.jpg\');___________;">Imag e1</a><br>');
получить нужную мне переменную, а?
Ответить с цитированием
  #6 (permalink)  
Старый 17.02.2011, 21:46
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

pine,
не совсем понимаю тебя но
метод document.write работает один раз всего-при загрузке страницы. когда документ загружен его вызывать нельзя используется innerHTML.для того чтобы отображались изменения переменой нужен обработчик для вывода именений на экран.

область видимости переменных знаешь что такое?не знаю где ты её ещё в коде используешь -но лучше вынеси в хеадер страницы её
<head>
<title>onclick.html</title>
<SCRIPT LANGUAGE="JavaScript">
var currentfile="";
function change(file) {
document.name1.src=file;
currentfile=file;
document.getElementById('bl').innerHTML=currentfile;// эта строка отвечает за вывод значения пер. на экран в 
                                                                           //элементе с id='bl'

}
</SCRIPT>
</head>
<body>
<img name="name1" src="image1.jpg" border="0">
<br>
<script>

document.write('<a href="#" onclick="change(\'image1.jpg\');">Image1</a><br>');
document.write('<a href="#" onclick="change(\'image2.jpg\');">Image2</a><br>');
document.write('<a href="#" onclick="change(\'image3.jpg\');">Image3</a><br>');

</script>
<div id='bl'>Значение </div>

</body>

Последний раз редактировалось dmitriymar, 17.02.2011 в 22:11.
Ответить с цитированием
  #7 (permalink)  
Старый 17.02.2011, 23:53
Новичок на форуме
Отправить личное сообщение для pine Посмотреть профиль Найти все сообщения от pine
 
Регистрация: 17.02.2011
Сообщений: 7

Спасибо, dmitriymar!
Так действительно работает. Теперь ломаю голову - как b1 встроить в скрипт...
Приятно иметь дело с грамотными людьми!
Успехов.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При наведении курсора смена картинки и всплывающая подсказка sly Общие вопросы Javascript 0 06.06.2010 17:53
Смена картинки (бекграунд дива ) при событии (нажатие клавиш или клавиши и мыши) Monster Events/DOM/Window 5 01.11.2009 01:16
смена фоновой картинки у таблицы cuberboy Общие вопросы Javascript 0 15.10.2009 23:06
Смена картинки при перезагрузке + наведении Мария Элементы интерфейса 2 22.08.2009 14:57
Динамическая смена рисунка на html, используя локальные рисунки с компа пользователя evgen28 Общие вопросы Javascript 9 27.03.2009 13:14