Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Отобразить изображение в зависимости от значения переменной (https://javascript.ru/forum/css-html/43420-otobrazit-izobrazhenie-v-zavisimosti-ot-znacheniya-peremennojj.html)

snake 04.12.2013 16:39

Отобразить изображение в зависимости от значения переменной
 
Добрый день. Вопрос следующего характера, необходимо отобразить картинку в зависимости от значения переменной,например: если у=1 то отображается одна картинка, если у=2 то другая картинка.

Вот сам код, только естественно он не рабочий, помогите правильно составить код

<span id="passp1">1</span>

<script language="javascript">

var y = document.getElementById('passp1').innerHTML

img1 = new Image (20,20)
img = "green.gif"
img2 = new Image (20,20)
imgg = "red.gif"

if (y==1)
{
document.img=img
}
else if ( y==2)
{
document.imgg=imgg
}


</script>

ksa 05.12.2013 09:19

Цитата:

Сообщение от snake
необходимо отобразить картинку в зависимости от значения переменной

Как вариант...

<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
</script>
</head>
<body>
<span id="passp1">1</span>
<img id='test' />
<script type="text/javascript">
var a=[
	'http://javascript.ru/forum/images/smilies/smile.gif',
	'http://javascript.ru/forum/images/smilies/laugh.gif'
];
var y = document.getElementById('passp1').innerHTML;
document.getElementById('test').src=a[y];
</script>
</body>
</html>

snake 05.12.2013 15:01

Спасибо KSA. Я сделал чуть по другому, теперь появился другой вопрос.

Есть следующий код:

<span id="passp1"></span>
<div id="myimg" class="k"></div>

<script>
function updateData() {
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","test.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

document.getElementById("passp1").innerHTML=$(xmlD oc).find('#1-222-1-25-0').find('Value').text()

}
</script>

<script language="javascript">
var y = parseFloat(document.getElementById("passp1").inner HTML);
var i = document.getElementById('myimg');
img1 = new Image (20,20);

switch (eval(y)){
case 1: img1.src="green.gif";break;
case 2: img1.src="red.gif";break;
case 3: img1.src="red.gif";
}

i.appendChild(img1);
</script>

После выполения кода (парсится xml файл) браузер отобразил цифру 1, отображение происходит через <span id="passp1"></span> . Вопрос: как правильно теперь взять значение из <span id="passp1"></span> , чтоб в скрипте переменная y взяла значение 1. Пытаюсь так var y = parseFloat(document.getElementById("passp1").inner HTML) не срабатывает. Или же возможно либо сделать так, чтоб после парсинга xml файла между тегами span была цифра 1, т.е. <span id="passp1">1</span>. Помогите исправить код.
P.S. Цифры могут быть разные после парсинга xml (1,2 или 3)

ksa 05.12.2013 15:09

Цитата:

Сообщение от snake
как правильно теперь взять значение из <span id="passp1"></span> , чтоб в скрипте переменная y взяла значение 1

Я х/з, что у тебя там приходит в ответе...
Но если в спан точно пишется 1 - должно хватить и этого

<span id="passp1"></span>
<div id="myimg" class="k"></div>
<script>
function updateData() {
	if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttp=new XMLHttpRequest();
	} else {// code for IE6, IE5
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	};
	xmlhttp.open("GET","test.xml",false);
	xmlhttp.send();
	xmlDoc=xmlhttp.responseXML;
	var y=+$(xmlD oc).find('#1-222-1-25-0').find('Value').text();
	document.getElementById("passp1").innerHTML=y;
}
</script>

<script language="javascript">
var i = document.getElementById('myimg');
img1 = new Image (20,20);
switch (y){
	case 1: img1.src="green.gif";break;
	case 2: img1.src="red.gif";break;
	case 3: img1.src="red.gif";
};
i.appendChild(img1);
</script>

snake 05.12.2013 15:42

Там может быть только 1, 2 или 3, они периодически меняются


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