2010-01-11 80 views
0

我想在我的网站上设置背景图片的动画效果,当选择背景图片时我希望它从左侧滑入并将旧背景从图片中移出,任何人都可以使用代码作为我写的东西不起作用,使用动画的jquery动画()

<script type="text/javascript"> 
$("a.background_btn").click(function(ev){ 
    ev.preventDefault(); 
// alert("hello"); 
    var url = $(this).attr("href"); 
// alert(url); 
    $.ajax ({ 
     url : url, 
     type: "POST", 
     success : function (data) { 
      $('#wrapper').css('background', 'url(/media/uploads/backgrounds/'+(data)+')'); 
      $('#wrapper').css('background-position', '-1000px 0px'); 
      $('#wrapper').css('background-repeat', 'no-repeat'); 
      $('#wrapper').animate({backgroundPosition: '0px 0px'}) 
     } 
    }) 
}); 
+0

您是否也可以发布您的关联标记,并让我们知道您写了什么,因为这将是一个很好的起点。 – 2010-01-11 14:53:33

+0

目前,当我选择我想要的背景,它清除旧的背景,并滑动新的背景我希望我可以滑出旧的背景以及为什么 – Udders 2010-01-11 14:57:29

+0

为什么你确切地调用一个URL与Ajax获取部分另一个网址? – 2010-01-11 14:59:08

回答

0

什么不工作呢?它什么都不做?如果是这样,那么你很可能只是运行你的代码,太早连接处理程序(之前的DOM准备好),包你的代码在处理该事件,像这样:

$(document).ready(function() { 
    .. your code here ... 
}); 
0

你改变的背景前此行

$('#wrapper').css('background', 'url(/media/uploads/backgrounds/'+(data)+')'); 

将原始背景设置为您想要的方向。

1

根据您的附加说明,一个容器一次只能有一个背景,所以当您在jquery中设置背景时,您也将删除旧背景。

要获得您想要的效果,您需要在“#wrapper”旁边插入一个附加元素并将其滑入,或将背景拼接为精灵图像,然后您可以将单个背景如所须。

也就是说,如果你想让新的背景逐字地“推”出旧的背景。如果你对完全退出的旧背景以及新的背景完好无损,布兰登的观点可能是最简单的。