2010-10-12 2 views
1

У меня есть этот скрипт, который отлично работает, что позволяет пользователю проголосовать, но я немного разбираюсь в том, как я могу сделать кнопку голосования, когда он снова щелкнет, чтобы переключиться обратно на нормальное изображение! так же, как StackOverflow:jquery toggle голосов, используя событие jquery toggle?

это мой сценарий:

$(document).ready(function() { 
    $('.statuses').delegate('.vote_up', 'click', function(e) { 

     //stop event 
     e.preventDefault(); 
     //get the id 
     var the_id = $(this).closest('.message').attr('id').split('_').pop(); 
     //the main ajax request 
     $.ajax({ 
      context: this, 
      type: "POST", 
       // Make sure "this" in the callback refers to the element clicked 

      data: "action=vote_up&id=" + the_id, 
      url: "ajax/votes.php", 
      success: function (msg) { 

       $(this).siblings("span.vote_count").html(msg).fadeIn(); 
        // get the child <img> and set its src 
       $(this).children("img").attr("src", "img/uparrowActive.png"); 
      } 
     }); 
    }); 

HTML:

<ul class="statuses"> 
<li id="set_41" class="message"> 
<span class="vote_count">0</span> 
<a href="#" class="vote_up"><img src="img/uparrow.png" /></a> 

это язык псевдо, что я хочу, чтобы это произошло:

a user clicks vote image, it changes the image(uparrowActive) 
//I've done that already 
then 
if user clicks the same image again it goes back to normal image(uparrow) 
+0

Подробнее о CSS спрайтах. – BalusC

+0

yeh Я собирался сделать это после того, как закончу свое приложение, но я попытаюсь собрать все вместе в первую очередь! – getaway

ответ

0

jquery has a toggle event, что позволяет вы должны привязать два обработчика событий к элементу, который вызывается попеременно.

* непроверенный, вероятно, имеет простые ошибки синтаксиса.

myElement.toggle(vote(), unvote()); 

function vote() 
{ 
    // add a vote to the item 
    // change icon to vote icon 
} 

function unvote() 
{ 
    // remove a vote from the item 
    // change icon to default icon. 
} 
+0

, так что если вместо меня использовать click, я использую toggle? ;) – getaway

+0

и remeber мне нужно изменить голосование по запросу ajax, поэтому я не делаю, что делать !! – getaway

+0

Я все еще не понимаю, im новый bie для javascript и jquery – getaway