javascript - 淡入鼠标移动

标签 javascript mouseevent fade

如何使用 JavaScript 在鼠标第一次移动时淡入 div 内容,例如在 google.com 上?我不希望它再次淡出。

最佳答案

代码:(See it in action)

// attach event handler
document.body.onmousemove = function(){
  fadeIn( this, 1000 );      // 1000ms -> 1s
  this.onmousemove = null; // remove to only fade in once!
};

// sets the opacity of an element (x-browser)
function setOpacity( obj, value ) {
  if ( obj ) {
    obj.style.opacity = value / 100;
    obj.style.filter  = 'alpha(opacity=' + value + ')';
    obj.style.zoom    = 1;
  }
}

// makes an element to fade in
function fadeIn( dom, interval, delay ) {

      interval  = interval || 1000;
      delay     = delay    || 10;

  var opacity   = 0,
      start     = Number(new Date()),
      op_per_ms =  100 / interval;

  if ( typeof dom === "string" ) {
    dom = document.getElementById( dom );
  }

  function step() {

    var now     = Number(new Date()),
        elapsed = now - start;
        opacity = elapsed * op_per_ms;

    setOpacity( dom, opacity );

    if ( elapsed < interval )
      setTimeout( step, delay );
    else
      setOpacity( dom, 100 );
  }

  setTimeout( step, delay );
};

注意:淡入淡出函数本来可以更小,但在这种形式下,您可以轻松地为任何元素和持续时间重用它。玩得开心!

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

相关文章:

ios - TextView 。在离开屏幕时淡出顶部的文字,有点像星球大战

javascript - 禁用 eval 中的变量

javascript - jQuery 点击 css3 旋转

javascript - AXIOS:如何并发运行http请求并在请求失败时获取所有请求事件的结果

Java MouseEvents 不工作

wpf - 模拟带有MouseUp和MouseDown事件或其他事件的Click的最佳方法是什么?

javascript - 循环填充表格

javascript - 框未在 Canvas 上显示 Javascript

javascript - 如何在 JavaScript 中删除具有淡出效果的 div?

java - 布局之间的淡入淡出效果