jQuery淡入/淡出属性

时间:2011-02-23 13:52:47

标签: jquery

我希望能够将下面的代码修改为fadeOut然后FadeIn从body_id中删除和添加style属性。

我知道我可以淡化整个body_id,但我想动画删除和添加style属性,而不是id本身内的所有内容?

$(".bg").click(function(){
var1 = $(this).attr('id');
loc = "background-image:url(" + var1 + ")"

$("#body_id").removeAttr("style").attr("style", loc + ";");
$.cookie('pageBG', loc,{ expires: 7, path: '/'});
return false;
});

2 个答案:

答案 0 :(得分:1)

在这种情况下不太可能,因为我们在这里讨论的是background-image,并且无法通过CSS更改background-image的不透明度。

您可以更改元素的主不透明度(.fadeIn / .fadeOut),也可以使用与背景位于同一位置的单独元素,然后淡化它。


单独清理当前代码:

$(".bg").click(function(){
    var bgUrl = this.id;

    $("#body_id").css('backgroundImage', bgUrl);
    $.cookie('pageBG', bgUrl, { expires: 7, path: '/'});

    return false;
});

请记住更改代码中读取Cookie的部分。

答案 1 :(得分:0)

var $body_id = $('#body_id');

$body_id.fadeOut(function() {

    // This runs when the fadeOut is complete.
    $body_id.removeAttr('style').fadeIn();

});