我正在创建一个使用Kinetic JS上下移动的切换滑块。这是我的可拖动切换:
this.toggle = new Kinetic.Rect({
x: (this.stage.getWidth() / 2) - 20,
y: 210,
shadowColor: '#95BA91',
shadowOffsetX: 5,
shadowOffsetY: 5,
width: 40,
height: 15,
fill: '#FFF',
cornerRadius: 3,
draggable: true,
dragBoundFunc: function( pos ) {
return {
x: this.getAbsolutePosition().x,
y: pos.y
}
}
});
我试图返回切换的y坐标,这样我就可以根据切换的高度递增一个计数器。我尝试的每个方法都会在拖动期间和之后返回y的原始值。有没有办法获得改变的y值?以下是我已经尝试过的方法:
getY(),getAbsolutePosition()。y,dragDistance(),. y(),getOffset()。y,getPosition()。y
答案 0 :(得分:2)
我认为您误解了dragBoundFunc
的使用。
dragBoundFunc
主要用于以某种方式限制形状在被拖动时的移动。
你应该做的是在你的切换形状上附加一个dragmove
事件监听器,当你拖动形状时它会触发。
看看这个jsfiddle
每次拖动切换形状时,都会在浏览器的控制台中打印Y坐标。