2016-11-04 3 views
0

В качестве задачи я собираюсь сделать так, чтобы светофоры менялись последовательно при нажатии кнопки. Я сделаю это, используя переменную и добавляя ее к ней каждый раз, когда будет показано изображение, поэтому компьютер знает, какой образ отображать дальше, используя if и elses, однако я не очень хорош в javascript, и он не будет работать. Я пробовал в разных средах, например, в Dreamweaver и Notepad ++, но я не вижу здесь, где я есть получено:Javascript image swap sequence

<HTML> 
<head> 
    <title>Untitled Document</title> 
</head> 


<body> 
    <img id="IMAGE" width="100" height="200"></img> 
    <button onClick="imageswap(a)">GO</button> 
</body> 

<script> 
    var a = 0 
    function imageswap(a) 
    { 
     if (var a==0) { 
     document.getElementById('IMAGE').src='red_empty_empty.png'; 
     var a + 1; 
    } 
    else if (a==1) 
    { 
     document.getElementById('IMAGE').src='empty_amber_empty.png'; 
     var a + 1; 
    } 
    else 
    { 
     document.getElementById('IMAGE').src='empty_empty_red.png'; 
     var a==0; 
    } 
} 
</script> 
</html> 

Спасибо, что прочитали, и я был бы признателен за помощь anyones.

Редактировать: Я принял обратную связь и внесла поправки в свой код, но при тестировании он не отображает изображение, которое я хотел бы вместо этого немного x.

<HTML> 
<head> 
    <title>JAVASCRIPT</title> 
</head> 


<body> 
    <img id="IMAGE" width="100" height="200"></img> 
    <button onClick="imageswap()">GO</button> 
</body> 

<script> 
    var a = 0 
    function imageswap() 
    { 
     if (a=0) { 
     document.getElementById('IMAGE').src='red_empty_empty.gif'; 
     a = a + 1; 
    } 
    else if (a==1) 
    { 
     document.getElementById('IMAGE').src='empty_amber_empty.gif'; 
     a = a + 1; 
    } 
    else 
    { 
     document.getElementById('IMAGE').src='empty_empty_red.gif'; 
     var a=0; 
    } 
} 
</script> 
</html> 

редактировать: я принял во внимание некоторые рекомендации и теперь, когда я нажимаю на кнопку первого снимка отображается затем второй на втором нажатии кнопки, однако она не может вывести третье изображение и первый и второе изображение не всегда работает в первый раз.

<HTML> 
<head> 
    <title>JAVASCRIPT</title> 
</head> 


<body> 
    <img id="IMAGE" width="100" height="200"></img> 
    <button onClick="imageswap()">GO</button> 
</body> 


<script> 
var a = 0; 

function imageswap() { 
    if (a == 0) { 
    document.getElementById('IMAGE').src = 'red_empty_empty.gif'; 
    a += 1; 
    } else if (a == 1) { 
    document.getElementById('IMAGE').src = 'empty_amber_empty.gif'; 
    a += 1; 
    } else { 
    document.getElementById('IMAGE').src = 'red_empty_empty.gif'; 
    a = 0; 
    } 
} 
</script> 
+2

У вас есть несколько синтаксических ошибок. Используйте [JSHint] (http://jshint.com/), чтобы найти их. – Xufox

+0

В строке 3 jshint дал мне ошибку «Ожидаемый идентификатор и вместо этого увидел« var ».» Но я не понимаю, как это исправить, объясните? – benisbestpokemongo

ответ

0

Я Наносить в console.log(a) .Это будет показывать приращение a \

Нанести var a в globel Это инкремента каждый раз, когда вас нажмите

И увеличиваем Наносить a +=1 вместо a+1

var a = 0 
 
console.log(a) 
 
function imageswap(){ 
 
if (a==0) { 
 
document.getElementById('IMAGE').src='red_empty_empty.png'; 
 
a += 1; 
 
    console.log(a) 
 
} else if (a==1){ 
 
document.getElementById('IMAGE').src='empty_amber_empty.png'; 
 
a += 1; 
 
    console.log(a) 
 
} else { 
 
document.getElementById('IMAGE').src='empty_empty_red.png'; 
 
a =0; 
 
    console.log(a) 
 
} 
 

 
}
<button onclick="imageswap()">GO</button><br> 
 
<img id="IMAGE" width="100" height="200"></img>

+0

ОК говорят, что я удаляю a изнутри скобок, как я могу получить код, чтобы потом работать? (с учетом того, что я добавил недостающие полуколоны) – benisbestpokemongo

+0

Какой из скобок? вы можете объяснить? См. I dont apply Любое значение внутри скобок 'imageswap()' – prasanth

+0

Да, это то, что я имею в виду, чтобы ничего не иметь в скобках, когда что-то связано с заменой образа функции. – benisbestpokemongo

0

в вас первой линии var a = 0 Вы заявляете свой счетчик (на var a часть) и инициализировать его, присвоив значение 0 (a = 0 part), поэтому нет необходимости объявлять переменную позже, вы просто хотите обновить его назначая новые значения

поэтому заявление if (var a==0) бы неправильно синтаксически, потому что вы не можете проверить, если объявление переменной равно 0. вы можете проверки, конечно, если ранее объявленная переменная имеет значение 0, которое было бы if (a==0)

То же самое происходит, когда вы пытаетесь увеличить unter value. var a + 1; ошибочно, потому что вы не можете увеличивать на 1 объявление. вам следует вместо этого назначить существующему счетчику значение само по себе плюс 1, поэтому a = a + 1;

Наконец, когда вы пытаетесь сбросить счетчик, var a==0;, (помимо обычной ошибки объявления) помните, что == является сравнение и = is назначение. Вы не должны проверять, равен ли счетчик 0, вы должны назначить значение 0 счетчику для его сброса.

надеюсь, что это помогает

0

Ok несколько вещей, которые вы должны заботиться:

  1. Вы пропусканием в функции imageswap(a) и вы обращаетесь к a от значения, переданного в функцию, которая будет 0 все время.Проверка https://jsfiddle.net/aegwj88g/
  2. Вы проверяете var a==0, var a==1, что является неправильным. Это должно быть как if(a==0) или else if(a==1).
  3. Вы пытаетесь присвоить значение a с var a + 1, что также неверно. Левая сторона должна быть допустимой переменной, отличной от токенов javascript (отметьте JS naming convention), которая сохраняет значение. это должно быть a=a+1 (или a+=1) так же, как и в математике;

Проверить это fiddle: