我正在尝试使用以下代码
从下拉列表中选择更改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不是函数。 能不能让我知道我做错了什么?
答案 0 :(得分:0)
您收到错误是因为
$('#canvas').css('background-image')
返回' background-image'的值元素的CSS属性,它是一个字符串。字符串没有名为fadeOut
的方法,因此当您尝试拨打fadeOut()
时,它会失败。
但是,您有一个更基本的问题 - fadeIn
和fadeOut
适用于元素,而不适用于元素的样式。
查看this question有关淡化背景的示例
答案 1 :(得分:0)
褪色背景图片并非易事。
你应该考虑这样的解决方案:Change the body background image with fade effect in jquery