为什么背景图像不会改变?

use*_*012 0 css jquery

JavaScript部分:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
        $('document').ready(function(){
            setTimeout('slideback()', 1000);
            function slideback()
            {
                $('body').css('background-image','url(http://sehirmedya.com/wp-content/uploads/2012/12/uluda%C4%9F.jpg)');
            }
        });
</script>
Run Code Online (Sandbox Code Playgroud)

CSS代码:

body{
                background-image:url('taksi.jpg');
                background-size:100%; 
                background-attachment:fixed;
                -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(
                src='taksi.jpg',
                sizingMethod='scale')";
                filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(
                src='taksi.jpg',
                sizingMethod='scale');
            }
Run Code Online (Sandbox Code Playgroud)

在1000毫秒之后,它应该改变但不会改变.为什么不?我怎么解决这个问题?

Fab*_*tté 7

slideback在DOM就绪处理程序范围内作用域.通过传递一个字符串setTimeout,您将调用它的全局值.相反,传递函数作为参考:

 $('document').ready(function() {
      setTimeout(slideback, 1000);
      function slideback() {
          $('body').css('background-image','url(http://sehirmedya.com/wp-content/uploads/2012/12/uluda%C4%9F.jpg)');
      }
 });
Run Code Online (Sandbox Code Playgroud)