2

ブラウザウィンドウ内の固定位置で移動可能な道場を使用しようとしています。残念ながら、マウスでdivを移動するたびに、位置は絶対に設定されます。divを固定するにはどうすればよいですか?

html:

<html>
<body>

<div id="moveMe" style="position:fixed;width:100px;height:100px;border:1px solid black;background-color:#00ff00;cursor:pointer;">bla</div>
<p>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>
test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>
test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>
test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>
test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>
</body>
</html>

脚本:

dojo.require("dojo.dnd.move");
dojo.ready(function(){

    var pcm = new dojo.dnd.move.boxConstrainedMoveable(dojo.byId("moveMe"), {
        box : dojo.window.getBox(),
        within : true
    });

});

テストへのリンク:http: //jsfiddle.net/zPVdX/

乾杯、クラテール

4

3 に答える 3

0

position: fixedposition: absoluteは、ブラウザーが要素の配置方法を決定するために使用する 2 つの完全に反対の方法です。

最初にそれらの違いを読むことをお勧めします: http://css-tricks.com/absolute-relative-fixed-positionioining-how-do-they-differ/

これで、Dojo のドラッグ可能要素が要素を絶対位置に設定する必要がある理由が理解できたと思います。これにより、Dojo はtop:およびleft:プロパティを介してドラッグ可能な要素を視覚的に移動できます。

これを、要素を現在のビューポートに相対的な位置に固定しようとする静的配置と比較してください。

視覚的に達成しようとしていることについてさらに詳細を追加すると、別の解決策があるかもしれません。

于 2012-10-16T00:43:14.270 に答える