Если вы посмотрите здесь и попытаетесь нажать на стрелки для голосования, вы увидите мою проблему.Теперь сравните это с домашней страницей (нажмите на логотип).Попробуйте проголосовать там.Стрелки меняют изображение в зависимости от голосования.Я также использую функцию 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
- это то, что я использую на первой странице, чтобы различать представления, они увеличиваются на единицу для каждого.В этом случае я просто сделал это значение пустым в функции, чтобы оно ни на что не влияло.Хотя это может быть моей проблемой, но я не понимаю, как.
Спасибо!