jquery
  • wrapper
  • css-position
  • 2011-01-20 6 views 2 likes 
    2

    jQuery要素をページラッパーに相対的に配置します。 Wrapperと呼ばれるdiv内にページ全体が含まれています。私の現在のコードは次のとおりです。jQuery要素を別の要素に相対的に配置するにはどうすればいいですか?

    <script type="text/javascript"> 
    $(function() { 
    $('a.poplightOne').hover(function(e) { 
         var html = '<div id="infoOne">' 
         html +=  '</div>';    
         $('body').append(html).children('#infoOne').hide().fadeIn(400); 
         $('#infoOne').css({ 
          position: 'absolute', 
         top: '10px', 
          left: '10px 
        }); 
    }, function() { 
        $('#infoOne').remove(); 
    }); 
    }); 
    </script> 
    

    答えて

    1

    私はあなたが場所を特定したいかに応じて、$('#referenceElement').position()または多分$('#referenceElement').offset()を探していると信じています。

    2

    WrapperがコンテナdivのIDである場合、bodyの代わりにhtmlを追加できませんか?

    <script type="text/javascript"> 
    $(function() { 
    $('a.poplightOne').hover(function(e) { 
         var html = '<div id="infoOne">' 
         html +=  '</div>';    
         $('#Wrapper').append(html).children('#infoOne').hide().fadeIn(400); 
         $('#infoOne').css({ 
          position: 'absolute', 
         top: '10px', 
          left: '10px 
        }); 
    }, function() { 
        $('#infoOne').remove(); 
    }); 
    }); 
    </script> 
    

    正しく理解しているかわかりません。あなたのdivがあなたのWrapper要素の後ろに来るようにしたいなら、あなたのjsはうまく見えますが、あなたのcssを変更しなければならないので、bodyは相対的で、Wrapperとnew要素は両方とも、

    +0

    をお試しください!ありがとうございました! – Stephanie

    +0

    喜んで私は助けることができます:-) – wajiw

    1

    さまざまな順序でDOM操作とDOMへの要素の追加には、さまざまな方法があります。ここではいくつかある:

    append()

    appendTo()

    after()

    before()

    だけapi.jquery.comに移動し、オプションに目を通します。

    ページ上の別の要素の近くに/上/上に配置することを意味する場合は、position()を使用して既存の要素がどこにあるかを調べ、必要に応じて新しい要素を設定して基礎として使用できます。

    +0

    彼らはすでにラッパーに含まれている要素を持っている、彼らは子供の場所への参照ポイントとしてラッパーを使用したい。 (彼らはコードの中にappendを使っています)。 –

    +0

    @ブラッド、aha、@ Sttephanieが「私のjQuery要素」と言ったとき、私は彼女がすでに作っていたものを意味しているとは思わなかった。 「Position」はDOMの操作についてもあまりにもあいまいな言葉で、私の最初の読み込みはピクセルの配置ではなくDOMの配置でした。 –

    0

    は、私は一週間、この問題への答えを探してきたこの

    $(function() { 
        $('a.poplightOne').hover(function(e) { 
         var leftvar=e.pageX; 
         var topvar=e.pageY; 
         var html = '<div id="infoOne">' 
         html +=  '</div>';    
         $('body').append(html).children('#infoOne').hide().fadeIn(400); 
         $('#infoOne').css({ 
          position: 'absolute', 
          top: topvar, 
          left: leftvar 
         }); 
    
        }); 
    }); 
    
    関連する問題