【发布时间】:2016-01-30 08:34:31
【问题描述】:
我一直试图让图像看起来模糊,但是当鼠标悬停在上面时,它会清除光标指向的那一点点。很像www.canva.com 网站。
到目前为止,这是我的代码,它不能 100% 工作。我正在使用 HTML、CSS 和 Javascript。不幸的是,我对 javascript 完全陌生!
HTML:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>QuoteWall</title>
<link rel="stylesheet" type="text/css" href="style.css">
<link rel="stylesheet" type="text/javascript" href="javascript.js">
</head>
<body>
<div class="pic">
<svg class="blur" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%">
<image filter="url(#filter2)" xlink:href="image.png" width="100%" height="100%"></image>
<filter id="filter2">
<feGaussianBlur stdDeviation="5" />
</filter>
<mask id="mask1">
<circle cx="-50%" cy="-50%" r="30" fill="white" filter="url(#filter2)" />
</mask>
<image xlink:href="image.png" width="100%" height="100%" mask="url(#mask1)"></image>
</svg>
</div>
</div>
</body>
</html>
CSS:
body {
margin: 0;
}
.pic {
text-align: center;
position: relative;
height: 250px;
}
.blur {
height: 100%;
}
.overlay {
position: absolute;
top: 0px;
left: 0px;
height: 100%;
}
Javascript:
$('.pic').mousemove(function (event) {
event.preventDefault();
var upX = event.clientX;
var upY = event.clientY;
var mask = $('#mask1 circle')[0];
mask.setAttribute("cy", (upY - 5) + 'px');
mask.setAttribute("cx", upX + 'px');
});
任何帮助将不胜感激。 谢谢, 乔
【问题讨论】:
-
我不明白。您想在悬停时取消模糊部分图像还是在悬停时取消模糊整个图像?
-
我想模糊鼠标所在的位置,所以是图像的一部分。与此非常相似:www.canva.com
标签: javascript jquery html css image