问题与jquery fadein

时间:2012-10-21 21:07:48

标签: javascript jquery css nivo-slider

我在这里有一段代码可以使用,但不确定为什么我的fadein和fadeout对身体不起作用, 如果您认为我遇到的问题请告诉我,谢谢

    <script type="text/javascript">
$(window).load(function() {
    var lastSlide = "";
    $('#slider').nivoSlider({
        effect: 'random',
        directionNavHide : true,
        slices : 15,
        animSpeed : 500,
        pauseTime : 6000,
        controlNav : false,
        pauseOnHover : true,
        directionNav:true, //Next & Prev
        directionNavHide:true, //Only show on hover
        beforeChange: function(){
            if(lastSlide == "images/header_used.jpg") {  //use the bg image of the slide that comes before the newslide
                $("body").attr("style","background: #000 url(images/bg.jpg) top center no-repeat;").fadeIn("slow");
            } else {
                $("body").attr("style","background: #ADADAD url(images/bgnd_grad.jpg) repeat-x;").fadeOut("slow");
            }
        },
        afterChange: function() {
            t = $(this).children("a:visible");
            lastSlide = $("img", t).attr("src");
        }
    });
});
</script>

3 个答案:

答案 0 :(得分:0)

虽然它可以用身体背景解决你的任务。我会改为使用addClass和removeClass。您正在操作也显示/隐藏使用它的样式属性。

我无法测试它但是如果你将淡入淡出切换为show()和hide()会发生什么,只是为了确定延迟是否是一个因素.. :)

答案 1 :(得分:0)

我认为“lastSlide”变量可以存储多个对象(img中的一个和可见链接中的一个)。

 t = $(this).children("a:visible");
 lastSlide = $("img", t).attr("src");  //could store multiple source.

这使得比较变得有点诡计并且可能会造成错误。

此外,您使用最差的方式来塑造您的身体。正如其他人所说,使用class或.css jQuery函数(http://api.jquery.com/css/)。

希望这个帮助

答案 2 :(得分:0)

毫无疑问,fullin和fadeout为身体工作。 正如反光所说,它应该是 $("body").css("background","#000 url(images/bg.jpg) top center no-repeat;").fadeOut("slow") 如果仍然不起作用,您可以查看您的nivoSlider功能