-1

ここにコードがありますが、それは機能しますが、フェードインとフェードアウトが体に対して機能しない理由がわかりません。問題が何であるかを考えている場合は、教えてくださいありがとう

    <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>
4

3 に答える 3

0

体の背景であなたの使命を解決するかもしれませんが。代わりに addClass と removeClass を使用していたでしょう。表示/非表示でも使用されるスタイル属性を操作しています。

テストする方法はありませんが、遅延が要因であるかどうかを判断するために、フェードを show() と hide() に切り替えるとどうなりますか.. :)

于 2012-10-21T21:18:59.473 に答える
0

体のフェードインとフェードアウトは絶対に機能します。リフレクティブが言ったように $("body").css("background","#000 url(images/bg.jpg) top center no-repeat;").fadeOut("slow") 、それでも機能しない場合は、 nivoSlider 関数を調べる必要があります

于 2012-10-22T05:48:24.780 に答える
0

それは、「lastSlide」変数が複数のオブジェクト (img からのオブジェクトと表示リンクからのオブジェクト) を格納できるという事実によるものです。

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

これにより、比較が少し難しくなり、バグが発生する可能性があります。

さらに、あなたの体をスタイリングするために最悪の方法を使用しているという事実. 他の人が言うように、クラスまたは .css jQuery 関数 (http://api.jquery.com/css/) を使用します。

この助けを願っています

于 2012-10-21T22:00:57.757 に答える