关于Jquery背景图像淡入淡出的问题

时间:2014-05-15 20:36:04

标签: jquery css

我正在尝试使用以下代码

从下拉列表中选择更改html5画布的背景图像
$('select').on('change', function() {
    if (this.value ==1){
      $('#canvas').css('background-image').fadeOut();
      $('#canvas').css({'background': 'url(http://localhost/MapBox/img/cal_NAs.png) no-repeat top right, url(http://localhost/MapBox/img/bg_sh.png) no-repeat top right','background-color' : 'grey'}).fadeIn();
    }
})

但是这没有完成工作,我在控制台上收到此错误:未捕获的TypeError:undefined不是函数。 能不能让我知道我做错了什么?

2 个答案:

答案 0 :(得分:0)

您收到错误是因为

$('#canvas').css('background-image')

返回' background-image'的值元素的CSS属性,它是一个字符串。字符串没有名为fadeOut的方法,因此当您尝试拨打fadeOut()时,它会失败。

但是,您有一个更基本的问题 - fadeInfadeOut适用于元素,而不适用于元素的样式。

查看this question有关淡化背景的示例

答案 1 :(得分:0)

褪色背景图片并非易事。

你应该考虑这样的解决方案:Change the body background image with fade effect in jquery