我希望能够将下面的代码修改为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;
});
答案 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();
});