我试图设置一个 div,以便在拖动时,我的图像的宽度会增长和缩小相同的距离。但是,如果我将 div 移动 1px,我的图像宽度变化超过 1px。
有什么建议吗?
function drag(el){
var dragging = dragging || false, x, handle_left, handle;
el.onmousedown = function(e){
e.preventDefault();
dragging = true;
handle = $(e.target);
x = e.clientX;
handle_left = handle.position().left;
window.onmousemove = function(e){
if(dragging == true){
var distance_w = e.clientX - x;
handle.css('left', (handle_left + distance_w)+'px');
$('.normal').css('width', $('.normal').width() + distance_w);
console.log(distance_w);
console.log($('.normal').width()+distance_w);
return false;
}
};
window.onmouseup = function(e){
dragging && (dragging = false);
};
};
};
var el = $('.btn');
for(var i = 0; i < el.length; i++){
drag(el[i]);
};
HTML
<div class="container">
<div class="wp_normal">
<div class="normal">
<img src="http://25.media.tumblr.com/284263a747fda7627c76920071ef580d/tumblr_mf8mf2FzZm1qm9rypo1_1280.jpg">
</div>
</div>
<div class="btn"></div>
</div>
CSS
.container{
position: relative;
width: 1024px;
margin: 0 auto;
}
.wp_normal{
position: absolute; z-index: 1;
left: 0; top: 0;
}
.normal{
position: relative;
width:500px; height: 280px;
margin: 0 auto;
overflow:hidden;
}
.normal img{
position:absolute;
width: 1024px; height: 280px;
}
.btn{
position: absolute; z-index: 3;
width: 100px; height: 100px;
background-color: red;
left: 450px;
}