Javascript если заявление не работает, как предполагалось - PullRequest
1 голос
/ 30 декабря 2011

Если вы посмотрите здесь и попытаетесь нажать на стрелки для голосования, вы увидите мою проблему.Теперь сравните это с домашней страницей (нажмите на логотип).Попробуйте проголосовать там.Стрелки меняют изображение в зависимости от голосования.Я также использую функцию in_array(), чтобы определить, за кого проголосовал пользователь, и она выдает правильный значок голосования.Все это прекрасно работает на странице представления, на которую я ссылаюсь.Однако, опять же, если вы попытаетесь щелкнуть по ссылке, по умолчанию всегда используется оператор else в этой функции Javascript:

Я покажу функцию только для симпатии, так как у меня та же проблема дляdislike.

function getVote(filename, num, idnum, user)
  {
    var like = document.getElementById('like_arrow' + num);
    var dislike = document.getElementById('dislike_arrow' + num);

  if (like.src.indexOf('../vote_triangle.png')!=-1 && dislike.src.indexOf('../vote_triangle_flip.png')!=-1) {
   like.src = '../vote_triangle_like.png';

         (AJAX to alter rating here)

  } else if (like.src.indexOf('../vote_triangle.png') != -1) {
   like.src = '../vote_triangle_like.png';
   dislike.src = '../vote_triangle_flip.png';

         (AJAX to alter rating here)

  } else {
   like.src = '../vote_triangle.png'; // Always defaults to this

         (AJAX to alter rating here)

  }

}

Если вам интересно, переменная num - это то, что я использую на первой странице, чтобы различать представления, они увеличиваются на единицу для каждого.В этом случае я просто сделал это значение пустым в функции, чтобы оно ни на что не влияло.Хотя это может быть моей проблемой, но я не понимаю, как.

Спасибо!

1 Ответ

2 голосов
/ 30 декабря 2011

like.src не будет содержать ..\. Это может быть так же просто, как удалить эту часть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...