1

私は解決策を探していて、いくつかの提案を試みましたが、私が持っているスクリプトではうまくいかないか、解決策を正しく理解していないようです。

ヘッドタグには、以下のjavascriptスクリプトがあります。ページの8番目のdivを下からページにスライドします。ただし、ページにアクセスすると、ページにスライドする前に、このdiv(テキストのブロック)の内容が終了位置にあることが一目でわかります。このクイックプレビューを削除して、メイン画像が読み込まれたときにテキストブロックdivをスライドさせるにはどうすればよいですか?

サイトへのリンク:http ://www.estilosalon.com.au/estilo-salon-philosophy2.html

<script type="text/javascript">
i=-700;
var c;
function f(){
    c=setInterval(function(){inv()},5)
}
function inv()
{
    if(i!=0)
    {
        i+=5;
        document.getElementsByTagName("div")[8].style.bottom=i+"px";
    }
    else
    {
        clearInterval(c);
        document.getElementsByTagName("button")[0].parentNode.removeChild(document.getElementsByTagName("button")[0]);
    }
}
</script>

前もって感謝します!

4

2 に答える 2

0

ボディのloadイベントに関数をアタッチし、cssで<body onload="f()">div [8]を設定してから、でに設定できます。display: nonedocument.getElementsByTagName("div")[8].style.display = "block"f()

$().animateただし、jQueryと関数を使用してdivをアニメーション化し、divにIDを割り当て(そのdiv前に要素を追加するとコードが壊れます)、jQueryの$(document).ready()関数を使用して最初のコードを起動することを強く検討します<body onload="">。これらの手順を実行すると、コードが複数のブラウザー間で均一に実行されるようになります。

于 2013-02-18T08:13:52.167 に答える
0

次のことを試すことができます。

<html>jsがない場合のフォールバックとして、タグにクラスを追加します。

<html xmlns="http://www.w3.org/1999/xhtml" class="no-js">

このコードを行の前に配置して、no-jsクラスをクラスに置き換えますjsi=-700;

var html = document.documentElement;
html.className=html.className.replace(/\bno-js\b/,'') + 'js';

これをスタイルシートに追加します

html.js #text_box_philosophy{
    bottom: -700px;
}
于 2013-02-18T08:27:15.310 に答える