2015-07-22 2 views
-1

Я полный javascript noob, и я просто пытаюсь проделать свой путь через этот простой проект. Предполагается, что сценарий предназначен только для запуска в то время, когда y < = 3. Каждый раз, когда он запускает второй оператор IF, он должен добавить счетчик к y, и если он запускает ELIF, он должен вычесть его из y сосчитать. Цель состоит в том, чтобы вы могли иметь только 3 «выбранных» изображения в любой момент времени. Мой y определенно меняется, но IF (y < = 3), похоже, не останавливает запуск программы. Спасибо заранее, ДжекЕсли функция javascript не работает

<SCRIPT type="text/javascript"> 
    var y = 4; //this is a counter 

    function swapRoast() { //This defines the function 
      var x=document.images; //this automatically creates an array of all the images in the document starting with image0 and assigns them to variable'x' 

      if (y <= 3); { //this should check that y <= 3 before running 

      if (x[0].src.match('Roast_Vegetables.png')) //This tests if the source of image0 in the array matches the script 
      { 
      x[0].src=('Roast_Vegetables_Selected.png'); //If the source matches, then it is changed 
      y ++; //should add 1 to the y count 
      } 

      else if (x[0].src.match('Roast_Vegetables_Selected.png')) //If the source doesn't match, then it tests a different source 
      { 
      x[0].src=('Roast_Vegetables.png'); //If the different source matches, then the script operates in reverse to the original IF 
      y --; //should subtract 1 from the y count 
      } 
      } 
     } 

     function swapVege(obj) { 
      var x=document.images; 

      if (y <= 3); { 

      if (x[1].src.match('Vegetables.png')) 
      { 
      x[1].src=('Vegetables_Selected.png'); 
      y ++; 
      document.getElementById("demo").innerHTML = y; 
      } 

      else if (x[1].src.match('Vegetables_Selected.png')) 
      { 
      x[1].src=('Vegetables.png'); 
      y --; 
      document.getElementById("demo").innerHTML = y; 
      } 
      } 
     } 

ответ

1

точка с запятой прискорбно и немедленно завершает if блок. Изменение (в обоих местах)

if (y <= 3); { 

к чему-то вроде

if (y <= 3) { 
+0

Когда я это делаю, изображение совсем не меняется на «выбранную» версию Редактирование: только что поняли, что вызвало эту проблему здесь: у меня началось с 4 – jack

+0

@jack Произошло это раньше? Можете ли вы изменить свой вопрос, чтобы включить полный и воспроизводимый пример? Кроме того, не используйте глобальные переменные для подсчета * выбранных * элементов ... просто перебирайте все элементы и подсчитывайте их. –

+0

Получил все это, спасибо за ваш совет. Такая простая ошибка, которую я не буду делать снова! – jack

1

если (у < = 3); {

вынуть ";" здесь

+0

Когда я это делаю, изображение вообще не изменяется на «выбранную» версию. edit: только что понял, что вызвало этот вопрос здесь: у меня началось с 4 – jack

+0

@jack и что вы предлагаете? – zerkms

+0

Получил все это, спасибо за ваш совет. Такая простая ошибка, которую я не буду делать снова! – jack

Смежные вопросы