CSS 相对于光标的背景位置

CSS background position relative to cursor

我想知道如何制作这样的效果: http://www.gazprom.com/

(请注意,移动的蓝色背景,在顶部蓝色菜单中),以及它与光标位置的相关性)

有没有跟随光标改变背景位置样式的脚本?

这个效果可以用一小块JavaScript:

来实现

JavaScript

document.addEventListener('mousemove', function (event) {
    if (window.event) { // IE fix
        event = window.event;
    }

    // Grab the mouse's X-position.
    var mousex = event.clientX;
    var header = document.getElementById('header');
    header.style.backgroundPosition = mousex/3 + 'px 0';
}, false);

Working Demo

工作原理:

  1. 它在 document 上的 mousemove 事件上绑定了一个函数。
  2. 它使用event.clientX抓取当前鼠标位置。
  3. 它以 1/3 的速度 (mousex/3) 改变元素 #header 的背景位置。 Reference