将onclick转换为onmouseover

时间:2015-10-24 03:35:54

标签: jquery html css scroll

有人可以解释如何将以下代码转换为onmouseover而不是点击吗?

<button type="button" onclick="_stopScroll = !_stopScroll;">Toggle Scroll</button>
var _stopScroll = false;
window.onload = function(event) {
    document.onscroll = function(ev) {
        if (_stopScroll) {
            document.body.scrollTop = "1000px";
        }
    }
};

我需要在将鼠标拖到按钮上时执行代码,当鼠标离开时,重置为滚动。

2 个答案:

答案 0 :(得分:3)

您可以停止鼠标中心滚动并在鼠标离开时重置标记

<button type="button" onmouseenter="_stopScroll = true;"  onmouseleave="_stopScroll = false;">Toggle Scroll</button>

由于你有jQuery,使用jQuery事件处理程序而不是内联的

jQuery(function($) {
  $('.scroll-stop').hover(function() {
    _stopScroll = true;
  }, function() {
    _stopScroll = false;
  });
  document.on('scroll', function(ev) {
    if (_stopScroll) {
      document.body.scrollTop = "1000px";
    }
  })
})
<button type="button" class="scroll-stop">Toggle Scroll</button>

答案 1 :(得分:0)

用onmouseover替换onclick

<button type="button" onmouseover="_stopScroll = !_stopScroll;">Toggle Scroll</button>
var _stopScroll = false;
window.onload = function(event) {
    document.onscroll = function(ev) {
        if (_stopScroll) {
            document.body.scrollTop = "1000px";
        }
    }
};