javascript
  • image
  • getelementbyid
  • 2011-11-10 6 views 2 likes 
    2

    私はこの事の周りに頭を抱えているので、私はそれをここに投稿するのに役立つかもしれないと思った。だからここに行く。可視性を設定できません:JavaScript経由で隠しています

    私が持っているもの: 5つの異なる表のセルに5つの異なる画像+以下に掲載するスクリプト。

    私が欲しいもの

    のJavaScriptの使用をする...

    document.GetElementById("image ID").style.visibility='visible/hidden' 
    

    ...あらかじめ設定した時間後に、しかし、代わりに画像IDの画像のIDを取得した文字列があり、誰かが何かを言う前に、私は()内にある文字列に ""を使用していません。などのような何か...

    var n=1; 
    function picID() {  
    pictureID="pic"+n; 
    n=n+1; 
    } 
    

    ...とこのようにして、その機能は、我々は "pic1" の要素のIDを取得する呼び出されるたびに、 "pic2"、 "pic3"、

    何が私の問題:ダーンの事は動作しません。イメージスタイリングはimgタグで定義したものと同じです。 (style="visibility:hidden"

    すべての画像IDは、必要に応じてimgタグ内にあります。それが発見しやすくいただきたいので、私は、コードを分離しました

    <script> 
    var m=1; 
         function Show() { 
         if (m==6) {m=1;} 
    
        feat="feat"+m; 
         **document.getElementById(feat).style.visibility="visible";** 
        m=m+1; 
        setTimeout('Show()', 3000); 
        } 
    window.onload = Show; 
    </script> 
    
    <script> 
    var k=1;  
        function Hide() { 
        if (k==6) {k=1;} 
    
        feate="feat"+k; 
         **document.getElementById(feate).style.visibility="hidden";** 
        k=k+1; 
        setTimeout('Hide()', 3000);  
        } 
    
    window.onload = Hide; 
    </script> 
    

    は、ここで全体のコードです。 唯一の問題は、コード内の太い線です。 document.getElementByIddocument.writeに置き換えてみましたので、カスタムID文字列が正しく動作していることがわかりました。そうです。他のものも同様に。

    提案がありますか?ありがとう。

    +5

    ... –

    +0

    をしない場合、これは無関係ですが、*べき*文字列ではなく関数を 'setTimeout'に渡します。 'setTimeout(Show、3000);'と 'setTimeout(Hide、3000);'があります。 –

    答えて

    0

    k = 0に設定してみてください。 k = 1の代わりに;

    同じ要素で実行されているshow()とhide()の両方の機能を持つページを読み込んだときのようです。上記を行うと、show()が実行される要素の前に要素のhide()が実行されます。

    0

    このコードはループ内で実行され続けます。 です。setTimeOut()が毎回呼び出されるためです。 そのが呼び出されない場合があるはず 例えばメートル< 6呼び出し、それは他の

    あなたは隠すものと `onload` Show関数をオーバーライドしている
    関連する問題