我正在慢慢弄清楚这一点。我有多个可调整大小的条,它们有一个显示其中百分比的指针。现在这会更新所有条形指针,但只会调整当前被拖动的条形指针的大小。我希望最初显示数字,然后如果您选择其中一个指针并拖动它,那么唯一会更新其百分比的就是那个。
这是我的 HTML:
<div id="wrapper" class="clearfix">
<div class="r_bar"><span class="resizable" style="width: 34%;"><div class="marker"><p></p></div></span></div>
<br />
<div class="r_bar"><span class="resizable secondColor" style="width: 50%;" title="50"><div class="marker"><p></p></div></span></div>
</div>
到目前为止,这是我的 jQuery:
$(function(){
var initialWidth = $(this).find('span').css('width').replace('%', '');
initialWidth = parseInt(initialWidth);
var dragging = false;
$('.resizable').mousedown(function(e){
dragging = true;
$(this).addClass('moving');
var parentOffset = $(this).parent().offset();
$this = $(e.currentTarget);
e.preventDefault();
$(document).mousemove(function(e){
if (dragging == true){
$this.css("width",e.pageX - parentOffset.left);
var percentageChange = (e.pageX - parentOffset.left) / initialWidth * 100
$('.moving p').html(percentageChange.toFixed(0));
}
});
});
$(document).mouseup(function(e){
if (dragging){
dragging = false;
$(this).removeClass("moving");
}
});
});
我无法根据内联样式宽度获得要显示的栏的初始宽度,也无法隔离正在调整大小的当前栏并相应地更新百分比。如果有任何已被拖动,则所有条数都会更新。该栏不会在未被拖动的那个上移动......但数字仍会更新。
有同样的问题。如果移动一个条形,则数字会更新得很好。但是当你去拖动另一个栏时,两组数字同时更新为相同的数字。