0

即座にフェードインし、6 秒後にフェードアウトするには div が必要です... (以下のコードを使用すると、その部分が機能します)

また、div の z-index を変更する必要があるため、フェードアウトしたらその下のコンテンツにアクセスできます...

これを変更することz-indexが最善の方法であるかどうかはわかりませんが、6秒後、divのコードが存在しなかったように、divが最初からフェードインしなかったかのようにしたいです...

どうすればこれを行うことができますか?

<style type="text/css">
    #overlay{
        display:none;
        background:#CD2026;
        width: 508px;
        height: 649px;
        text-align: center;
        color: #ffffff;
        position:absolute;
        left:12px;
        top:0px;
        z-index:100;
    }
</style>

<script type="text/javascript">
    //<![CDATA[
    $(window).load(function(){
        $('#overlay').fadeIn('slow').delay(6000).fadeOut('slow');
    });
    //]]>
</script>

<script type="text/javascript">
    //<![CDATA[
    $("#overlay").css('z-index','100');
        setTimeout(function(){ $("#overlay").css('z-index','-100'); },6000)
    });
    //]]>
</script>

<div id="overlay" style="display: none;"></div>
4

4 に答える 4

0

「divのコードが存在しなかったように...」にしたい場合は、z-indexを変更するのではなく、表示をnoneに設定したほうがよいでしょう。

フェードアウトを次のように変更します。

.fadeOut('slow', function(){$(this).css('display', 'none')})

それ以外の場合でも、z-index を変更したい場合は、fadeOut を次のように変更します。

.fadeOut('slow', function(){$(this).css('z-index', '-100')})

これが実用的なフィドルです

于 2013-05-24T05:20:26.717 に答える
0

この行を変更するだけです。値に {} を追加します。

setTimeout(function(){ $("#overlay").css({'z-index','-100'}); },6000)

正解 :

  $(window).load(function(){
  $('#overlay').fadeIn('slow').delay(6000).fadeOut('slow')});

  window.setTimeout(function(){ 
      $("#overlay").css({'z-index':'-100'});
  },6000);

これは機能します

于 2013-05-24T05:14:01.763 に答える
0

このフィドルを参照してください

$(document).ready();これをHTMLファイルの最後に直前に配置すると、コードを削除してそのままにしておくことができます</body>

div の下のボタンは、div がフェードアウトしてから 6 秒後にクリック可能になります。

編集

セットz-indexとして変更する必要はありません。div はもうページに干渉しません.fadeOut()display: none

于 2013-05-24T05:14:19.350 に答える
0

これを試して、

$(window).load(function(){
    $('#overlay').fadeIn('slow').animate({opacity:0,'z-index':-100},6000);
});
于 2013-05-24T04:51:56.093 に答える