javascript - 全局鼠标移动

标签 javascript jquery

我已将以下 javascript 用于我基于 jQuery 的网站。它的作用是向上/向下移动 slider ,并将上面的项目缩放得更高/更小。

一切正常,但由于 slider 的高度只有几个像素,而且移动事件有点慢(它不会触发每个像素)所以当我快速移动鼠标时, slider 无法保持打开,鼠标离开 slider 项目。 mouseMove 事件不会再触发,因为它已绑定(bind)到 slider 。我想一切都可以通过将 mouseMove 全局设置为整个站点来修复,但它不起作用,或者至少我不知道如何使它起作用。它应该绑定(bind)到文档还是正文?

这是我当前的 slider 代码:

$.fn.resize = function (itemToResize) {

MinSize = 100;
MaxSize = 800;

pageYstart = 0;
sliderMoveing = false;
nuskriverHeight = 0;

this.mousedown(function(e) {
 pageYstart=e.pageY;
 sliderMoveing = true
 nuskriverHeight = parseFloat((itemToResize).css('height'));
});

this.mouseup(function() { 
 sliderMoveing = false 
});

this.mousemove(function(e) {
 if (sliderMoveing) { 
  (itemToResize).css('height', (nuskriverHeight + (e.pageY - pageYstart))); 
  if (parseFloat( (itemToResize).css('height')) > MaxSize) { (itemToResize).css('height', MaxSize) };
  if (parseFloat( (itemToResize).css('height')) < MinSize) { (itemToResize).css('height', MinSize) };
 };
}); 

};

感谢您的帮助,非常感谢

最佳答案

文档上放置鼠标事件

var $doc = $(document);

this.mousedown(function(e) {
  pageYstart=e.pageY;
  sliderMoveing = true
  nuskriverHeight = parseFloat((itemToResize).css('height'));

  $doc.mouseup(function() { 
    sliderMoveing = false ;
    $doc.unbind('mousemove mouseup')
  });

  $doc.mousemove(function(e) {
    if (sliderMoveing) { 
     (itemToResize).css('height', (nuskriverHeight + (e.pageY - pageYstart))); 
     if (parseFloat( (itemToResize).css('height')) > MaxSize) { (itemToResize).css('height', MaxSize) };
     if (parseFloat( (itemToResize).css('height')) < MinSize) { (itemToResize).css('height', MinSize) };
    };
  }); 

});

关于javascript - 全局鼠标移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2928887/

相关文章:

Jquery CSS 不适用于 Post 中的 div

javascript - 如何使用 npm 将自定义模块导入 babel-jest 测试?

javascript - 从 VueDraggable 的事件内部调用 vue 方法

javascript - 如何隐藏高级元素?

javascript - jQuery 获取某个类的页面上每个 div 的高度

jquery - 打开和关闭导航

javascript - 当进度标签与栏重叠时如何反转进度标签

javascript - 在 jQuery 的 data() 方法中使用函数更新值设置变量等同于匿名函数,而不是返回值

javascript - 带比例的随机数

javascript - 删除 Div 不起作用