如何从鼠标指针创建"光环"效果?

CDe*_*ney 13 javascript jquery html5 mouseover css3

如果您打开谷歌浏览器并打开多个选项卡,则可以通过将鼠标悬停在背景选项卡上来查看效果.指针将具有"光环"效果,跟随它.

为了澄清,我不是在问如何让整个标签发光变浅,我问的是如何在指定的半径范围内给指针赋予效果.

Ric*_*haw 21

关键部分是获取鼠标坐标,然后放置具有这些坐标的径向渐变.

var originalBG = $(".nav a").css("background-color");

$('.nav li:not(".active") a').mousemove(function(e) {
    x = e.pageX - this.offsetLeft;
    y = e.pageY - this.offsetTop;
    xy = x + " " + y;
    bgWebKit = "-webkit-gradient(radial, " + xy + ", 0, " + xy + ", 100, from(rgba(255,255,255,0.8)), to(rgba(255,255,255,0.0))), " + originalBG;
    bgMoz = "-moz-radial-gradient(" + x + "px " + y + "px 45deg, circle, " + lightColor + " 0%, " + originalBG + " " + gradientSize + "px)";

    $(this)
        .css({background: bgWebKit})
        .css({background: bgMoz});
    }).mouseleave(function() {
    $(this).css({
        background: originalBG
    });
});
Run Code Online (Sandbox Code Playgroud)

这样的事情会起到作用.

查看杰出的Chris Coyier的演示:http://css-tricks.com/examples/MovingHighlight/