12

次のような<a>タグがあるとします。

<body>
    <div class="wrapper">
        <a href="#" class="a1">Click Me</a>
    </div>
</body>

私のCSSは次のとおりです。

body{ padding:10px;}
.wrapper { height:1000px; width:500px;}

現在、タグ.offset() の X/Y 位置を取得するために Jquery を使用してい<a>ます。

var offset = $(".a1").offset();
var top = offset.top;
var left = offset.left;

<a>ページをスクロールしてタグの x、y 座標を確認すると、それらは同じままです。つまり、ページのスクロールが無効になります。画面に関連するページをスクロールした後、タグ
の新しい X、Y 位置を取得したい。 このタグが下にスクロールした後に非表示になる場合は、負の値でその位置が必要です。 <a>
<a>

このフィドルを確認してください:http://jsfiddle.net/xQh5J/9/

助けてください。

4

1 に答える 1

26

ドキュメントに対する link 要素の位置は、スクロールしても変わりませんウィンドウの左上から要素の位置を取得するには、offset()を使用して、取得したウィンドウの scrollTop フォームを差し引くことができます。

var offset = $(".a1").offset();
var w = $(window);
alert("(x,y): ("+(offset.left-w.scrollLeft())+","+(offset.top-w.scrollTop())+")");

デモ: http://jsfiddle.net/xQh5J/10/

于 2013-05-28T14:35:43.877 に答える