jQuery选项卡UI:在选项卡更改时更改两个不同的数据属性

时间:2011-06-02 04:13:41

标签: jquery jquery-ui-tabs

我可以根据每个标签的html中的数据属性在每个标签更改中交换div中的图像。但是我也希望为摄影师的功劳改变另一个div,而且我做的不对,即使它应该很容易。 jsfiddle here: http://jsfiddle.net/8muBm/56/

$("#tabs").tabs({
    select: function($event, ui) { /* Extract the image from the active tab: */
        var img = $(ui.panel).data("image");

        /* Animate the header out, set the background css, then animate back in: */

        $("#headerwrapper").animate({
            opacity: 'toggle'
        }, function() {
            $(this).css("background-image", "url(" + img + ")").animate({
                opacity: 'toggle'
            });

            /* credit changer */

            $("#photocredit").text($(this).attr("data-credit"));

        });
    }
});

1 个答案:

答案 0 :(得分:2)

我认为你的$(this)指向div“headerwrapper”标签。

尝试:

$("#tabs").tabs({
    select: function($event, ui) { /* Extract the image from the active tab: */
    var img = $(ui.panel).data("image");

    /* Animate the header out, set the background css, then animate back in: */

    $("#headerwrapper").animate({
        opacity: 'toggle'
        }, function() {
            $(this).css("background-image", "url(" + img + ")").animate({
                opacity: 'toggle'
            });

            /* credit changer */

            $("#photocredit").text($(ui.panel).data("credit"));

        });
    }
});