2013-02-09 53 views
1

我有兩個圖像,當我點擊green.png它變成red.png。但是當我加載頁面,並且它已經設置爲red.png時,我需要點擊img兩​​次,然後它纔會發生變化。我只想點擊一次。jQuery Img切換Ajax文章

$(".page-state").toggle(function(event){ 
    this.src = "images/red.png"; 

     var id = event.target.id; //the Div ID variable   
     var dataString = 'page='+ id + '&view=off';   

     $.ajax({ 
      type: "POST", 
      url: "pageState.php", 
      data: dataString, 
      cache: false, 
     }); 
     $('#mainFrame') 
     .attr('src', $('iframe') 
     .attr('src')) 

    }, function(event) { 
     this.src = "images/green.png"; 

     var id = event.target.id; //the Div ID variable   
     var dataString = 'page='+ id + '&view=on';   

     $.ajax({ 
      type: "POST", 
      url: "pageState.php", 
      data: dataString, 
      cache: false, 
     }); 
     $('#mainFrame') 
     .attr('src', $('iframe') 
     .attr('src')) 
    }); 

我該如何提高呢?

回答

1

的jQuery:

$(".page-state").click(function() { 
    var s = $(this).attr("class").split(" "); 
    if(s[1] == 'red') { 
     this.src = 'green.png'; 
     $(this).removeClass('red').addClass('green'); 
     // more code for green 
    } 
    else { 
     this.src = 'red.png'; 
     $(this).removeClass('green').addClass('red'); 
     // more code for red image 
    } 
}); 

HTML:

<img class="page-state red" src="red.png" /> 

正如你可以看到.page-state具有類這表明什麼在默認情況下,它是由紅色或藍色。

+0

我已經試過這個,但是這反過來問題到綠色img :) – afro360 2013-02-09 03:46:11

+0

我需要red.png和green.png的混合作爲默認 – afro360 2013-02-09 03:47:37

+1

哦,我得到它你想要的:D等一分鐘!你有沒有類'.page-state'? – 2013-02-09 03:51:01