Javascript 使用fadeIn()淡入背景图像

Javascript 使用fadeIn()淡入背景图像,javascript,jquery,Javascript,Jquery,我想将我为其构建的ChangeBg函数的背景图像更改为淡色 为什么这不起作用?我做错了什么 <script src="http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.4.js"type="text/javascript"></script> <script language="JavaScript"> function changeBg (color) { document.getEle

我想将我为其构建的
ChangeBg
函数的背景图像更改为淡色

为什么这不起作用?我做错了什么

<script src="http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.4.js"type="text/javascript"></script>
<script language="JavaScript">
    function changeBg (color) {
        document.getElementById("wrapper").style.background="url(Images/"+color+".jpg) no-  repeat";
        $("changeBg").fadeIn("slow"); }
</script>

功能更改BG(颜色){
document.getElementById(“wrapper”).style.background=“url(Images/”+color+”.jpg)no-repeat”;
$(“changeBg”).fadeIn(“慢”);}

我假设您缺少一个

如果changeBg是html元素的ID

document.getElementById // <-- knows it's an ID
$() // <- can select classes, tags, :first's, :contain's, etc, etc

document.getElementById/我假设您缺少一个

如果changeBg是html元素的ID

document.getElementById // <-- knows it's an ID
$() // <- can select classes, tags, :first's, :contain's, etc, etc

document.getElementById/几件事一目了然:

图像的
url
路径是否相对于页面?换句话说,
url(Images
应该是
url(/Images
)吗

我假设你的代码中
no-repeat
中没有空格?我假设浏览器不会自动为你清理


最后(但可能是最重要的),您必须修复选择器:
$(“changeBg”)
可能应该是
$(“#changeBg”)
,如果
changeBg
是元素id属性。

简单介绍一下:

图像的
url
路径是否相对于页面?换句话说,
url(Images
是否应该
url(/Images

我假设你的代码中
no-repeat
中没有空格?我假设浏览器不会自动为你清理


最后(但可能最重要的是),您必须修复选择器:
$(“changeBg”)
可能应该是
$(“#changeBg”)
,如果
changeBg
是元素id属性。

这里的
changeBg
是什么?
你不是指
$(“#wrapper”).fadeIn()

这里的
changebg
是什么?
您不是指
$(“#wrapper”).fadeIn();

尝试使用jquery或javascript。不要混淆

function changeBg (color) {
        $("#wrapper").css("background","url(Images/"+color+".jpg) no-repeat");
        $("#wrapper").fadeIn("slow"); 
}

尝试使用jquery或javascript。不要混淆

function changeBg (color) {
        $("#wrapper").css("background","url(Images/"+color+".jpg) no-repeat");
        $("#wrapper").fadeIn("slow"); 
}

以下是具有背景图像的元素中淡入淡出的示例:

HTML:

JS:


注意:
.on()
在jQuery 1.7中是新的,并在这种情况下取代了
.bind()

下面是一个带有背景图像的元素淡入淡出的示例:

HTML:

JS:


注意:
.on()
在jQuery 1.7中是新的,在这种情况下取代了
.bind()

这样的背景透明度是不可能的。这里回答了类似的问题,我建议您只使用一个API来遍历html的DOM(在本例中为jQuery)。使用$(“#包装器”),而不是使用“document.getelementbyId”。还有,这是什么$('changeBg')元素?这样的背景透明度是不可能的。这里回答的类似问题我建议您只使用一个API来遍历html的DOM(在本例中为jquery)。使用$('changeBg')包装器代替“document.getelementbyId”。另外,$('changeBg')元素是什么?嗨,Arif,我已经尝试了您的方法,我更改了$('changeBg')).fadein(“slow”);改为$(“#wrapper”).fadein(“slow”);因为ChangeBg是我的函数,warpper是我的元素,但它仍然不起作用。在哪种情况下,您调用了该函数?嗨,Arif,我尝试过您的方法,我将$(#ChangeBg”).fadein(“slow”)改为$(#wrapper”).fadein(“slow”);因为ChangeBg是我的函数,warpper是我的元素,但它仍然不起作用。在哪种情况下调用了该函数?
div {
    width  : 300px;
    height : 300px;
    background : url(...) center center;
    display : none;
}
$(document).on('click', function () {
    $('div').fadeToggle();
});