什麼是最好的方式去有一個「霧戰爭」類型的東西,圖像被遮住了,但隨着用戶鼠標懸停在圖像周圍光標區域顯示。因此,可能有一些圖層使用的是CSS樣式,因爲用戶鼠標懸停在圖像上變得透明,因此可以在鼠標周圍的區域中看到圖像,但圖像的其餘部分仍然是黑色的。在mouseover上顯示圖像的部分
7
A
回答
4
如果你只是想使用JavaScript和CSS來做到這一點:
- 中間
- 使用創建一個透明的孔黑色圖像JavaScript來獲取鼠標位置
- 更新css將霧圖像的位置設置爲鼠標指針
您必須確保所有內容都正確分層,以便您的圖像位於霧圖像下方,而霧圖像如果這不佔用整個瀏覽器窗口,則e在其餘內容之下。
2
在畫布上,您可以在圖像上創建一個部分透明的圖層,但光標附近的區域將完全透明。圖層並不是真的存在於畫布上,但有框架可以讓你做圖層。
在HTML/CSS上,您可以對圖像進行2個圖層的「拼貼」,上面有一張圖片和一張半透明的PNG圖片。懸停時,圖塊的PNG設置爲display:none
,以顯示下方的圖像。
4
我發現這是一個非常好的問題,所以對於未來我的訪問者會離開這個作爲參考:
$(window).on('load', function() {
var
ctx = $('#canvas')[0].getContext('2d'),
mouse = {x: -100, y: -100};
// fill black
ctx.fillStyle = 'black';
ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height);
// track mouse
$('#canvas').on('mousemove.fog', function (evt) {
mouse.x = evt.offsetX;
mouse.y = evt.offsetY;
});
(function animloop(now) {
var
frame = webkitRequestAnimationFrame(animloop), // use a polyfill here
x = mouse.x,
y = mouse.y,
r = 10,
grad = ctx.createRadialGradient(x, y, 0, x, y, r);
grad.addColorStop(0, "rgba(0, 0, 0, 255)");
grad.addColorStop(1, "rgba(0, 0, 0, 0)");
ctx.globalCompositeOperation = 'destination-out';
ctx.fillStyle = grad;
ctx.arc(x, y, r, 0, 2 * Math.PI, true);
ctx.fill();
}(Date.now()));
});
+0
這實際上非常酷,謝謝。儘管目的不是要慢慢地揭示,而是要揭示鼠標的一小部分,並且隨着鼠標移動到其他地方,鼠標將返回到黑色的區域。 – BerenTW
相關問題
- 1. 如何突出顯示mouseover上的圖像部分?
- 2. Mouseover上的顯示圖像(在jsfiddle內部的工作示例)
- 3. 在圖像上顯示段落mouseover
- 4. 在mouseover上顯示圖片
- 5. 顯示部分圖像
- 6. 在MouseOver上顯示DIV
- 7. 顯示個別圖像與顯示圖像拼貼的部分?
- 8. mouseover透明div類顯示圖像
- 9. 在Mouseover上交換圖像
- 10. Mouseover上的不同圖像
- 11. 部分顯示的iText PDF圖像
- 12. 用java顯示圖像的一部分
- 13. 如何顯示圖像的一部分?
- 14. 在mouseover和mouseout上閃爍的圖像
- 15. 在部分上顯示一個gif圖像以佔用空間
- 16. Android WebView圖像部分顯示
- 17. 只有一小部分圖像顯示
- 18. 如何使用JavaScript在Firefox中的mouseover上顯示圖像的灰度版本?
- 19. 在React Native中顯示像Instagram這樣的圖像部分?
- 20. 圖標mouseover上的圖像預覽
- 21. 如何在mouseover上創建展示圖片部分的聚光燈效果?
- 22. bootstrap accordion在mouseover上顯示數據
- 23. 僅顯示圖像的中心部分並點擊顯示完整圖像
- 24. GWT圖像構件:僅顯示圖像的一部分
- 25. jQuery在mouseover上成長圖像
- 26. 用CSS在mouseover上放大圖像
- 27. 在asp.net mvc 2.0中mouseover時顯示圖像
- 28. 在SmallBASIC上顯示圖像
- 29. 在ReactJS上顯示圖像
- 30. 在fullcalender上顯示圖像
我認爲這將做的工作不夠好。感覺有點黑客,但它會起作用。謝謝:) – BerenTW
很好的答案,+1。 –