Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在鼠标位置值上设置最小/最大值_Javascript_Jquery - Fatal编程技术网

Javascript 在鼠标位置值上设置最小/最大值

Javascript 在鼠标位置值上设置最小/最大值,javascript,jquery,Javascript,Jquery,我在mousemove上有鼠标位置(x/y)。。。但我想知道x/y位置是否有可能在某个最小值和最大值停止改变值 $this.mousemove(function(event) { x = event.pageX; y = event.pageY; }); 理想情况下,我希望有变量xmin和xmax和ymin和ymax,只允许返回值在两个最小值和最大值之间(比如,300和900之间),这样当鼠标移动时,它会记录它的位置,但在300px和900px之外的任何地方都不会改变值 可能吗

我在mousemove上有鼠标位置(x/y)。。。但我想知道x/y位置是否有可能在某个最小值和最大值停止改变值

$this.mousemove(function(event) {
    x = event.pageX;
    y = event.pageY;
});
理想情况下,我希望有变量
xmin
xmax
ymin
ymax
,只允许返回值在两个最小值和最大值之间(比如,300和900之间),这样当鼠标移动时,它会记录它的位置,但在300px和900px之外的任何地方都不会改变值


可能吗?

虽然您无法轻松使鼠标看起来保持在某个范围内,但您可以按要求执行操作,即返回实际的y位置或最大值

试试这个代码

$this.mousemove(function(event) {
    x = Math.max(
        Math.min(
            event.pageX, xmax
    ), xmin);
    y = Math.max(
        Math.min(
            event.pageX, ymax
    ), ymin);
});

其思想是
Math.max
选择最小值或实际位置,以较大者为准。
Math.min
的作用正好相反。

虽然您无法轻松使鼠标看起来保持在某个范围内,但您可以按要求执行操作,即返回实际y位置或最大值

试试这个代码

$this.mousemove(function(event) {
    x = Math.max(
        Math.min(
            event.pageX, xmax
    ), xmin);
    y = Math.max(
        Math.min(
            event.pageX, ymax
    ), ymin);
});

其思想是
Math.max
选择最小值或实际位置,以较大者为准。
Math.min
的作用正好相反。

为什么不在分配前检查位置?不,不能限制鼠标移动。但是使用
Math.max
Math.min
x
y
变量限制在各自的范围内是很简单的。为什么不在分配前检查位置呢?不,不能限制鼠标移动。但是使用
Math.max
Math.min
x
y
变量限制在各自的范围内是很简单的。