元素的特定区域上的背景颜色

Sam*_*ong 5 html javascript css jquery

我想要实现的是将悬停效果放在光标的位置上..

像这样的东西:http://drmportal.com/

这是一个小提琴:http://jsfiddle.net/onnmwyhd/

这是我的代码.

HTML

<div id="container"></div>
Run Code Online (Sandbox Code Playgroud)

CSS

#container{
background-color: #6fc39a;
height:200px;
}
Run Code Online (Sandbox Code Playgroud)

JQUERY

$("#container").mousemove(function(e){

var x = e.pageX - this.offsetLeft;
    var y = e.pageY - this.offsetTop;
    $(this).html("X: " + x + " Y: " + y); 
});
Run Code Online (Sandbox Code Playgroud)

这是我想要的光标位置的颜色....

    background-image: -webkit-linear-gradient(-35deg, #35a28e, #a8e4a5);
Run Code Online (Sandbox Code Playgroud)

小智 2

在您的参考网站中,它使用画布,请查看此小提琴以获取确切的结果

JSFiddle

超文本标记语言

<div id="container" class="stalker">
    <canvas id="canvas" width="1600" height="433"></canvas>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.stalker {
    background-color: #6fc39a;
    height:200px;
    border-top-color: rgba(168, 228, 165, 0.7);
    border-bottom-color: rgba(53, 162, 142, 0.3);
}
Run Code Online (Sandbox Code Playgroud)

JavaScript

var stalker = $('.stalker');

var canvas = $('#canvas')[0];

var ctx = canvas.getContext('2d'), gradient, initialized = false;

$("#container").mousemove(function(e){
    setTimeout(function(){
        initialized = true;
        canvas.width  = stalker.width();
        canvas.height = stalker.height();
        gradient = ctx.createRadialGradient(e.pageX, e.pageY, 0, e.pageX, e.pageY, canvas.width);
        gradient.addColorStop(0, stalker.css('border-top-color'));
        gradient.addColorStop(1, stalker.css('border-bottom-color'));
        ctx.fillStyle = gradient;
        ctx.fillRect(0, 0, canvas.width, canvas.height);

    }, initialized ? 200 : 0);
});
Run Code Online (Sandbox Code Playgroud)