jQuery Img切换Ajax帖子

时间:2013-02-09 03:38:33

标签: javascript jquery html

我有两张图片,当我点击green.png时,它会变为red.png。但是当我加载页面并将其设置为red.png时,我需要在更改之前单击img两​​次。我只想单击一次。

    $(".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 个答案:

答案 0 :(得分: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有一个类,表示默认情况下它包含红色或蓝色。