我有一张图片,我希望能够通过在页面上拖动来移动。据我所知,它应该默认在每个浏览器中工作,但由于某种原因它不适合我。 这是我的页面:
<div style="position:relative;width:1000px; height:900px;border:solid;z-index:30;float:left">
<div id="image-helper" style="position:absolute;width:1000px; height:900px;z-index:20;float:left" >
<img id="image" src="images/test.jpg" style="width:500px;height:400px;cursor:pointer;z-index:10;" alt=""/>
</div>
</div>
我是否想念css中的某些内容?
由于
答案 0 :(得分:0)
不,你不能仅仅通过这样做来移动图像。您必须侦听鼠标事件以更新javascript中的图像位置。
更具体地说,你必须抓住
这是一个非常原始的演示:http://jsfiddle.net/dystroy/CvVte/
CSS:
img {
position: fixed;
}
Javascript:
var mouseIsDown = false;
$('img').mousedown(function(e){
mouseIsDown = true;
pos = $(this).offset();
e.preventDefault();
});
$(document).mousemove(function(e){
if (!mouseIsDown) return;
$('img').css({left:e.pageX, top:e.pageY});
}).mouseup(function(){
mouseIsDown = false;
});
我会让你最终确定,以便更精确并使用开始拖动位置(提示:使用offset)。您还可以在鼠标按钮启动时删除mousemove事件处理程序。
答案 1 :(得分:0)
要拖放你需要javascript,在jquery中,你可以使用ui拖放:http://jqueryui.com/demos/draggable/