マウス位置に応じて写真のぼかしを変化させるjQueryプラグイン「jquery-opacity-by-mouse-location」

マウスの場所に応じて写真をちらっと見せたいというような欲求が稀に生じるかもしれません。
そんな時はjQueryプラグインの「jquery-opacity-by-mouse-location」はいかがでしょうか。 マウス位置に応じて写真のぼかしを変化させるjQueryプラグイン「jquery-opacity-by-mouse-location」サンプル

使用方法
rmmoul/jquery-opacity-by-mouse-location ? GitHubからファイル一式をダウンロード。
まずは画像を記述します。
<div style="position:relative; height:画像のサイズpx; width:画像のサイズpx;">
<img src="画像パス" id="under_image">
<img id="blur" src="ブラー画像パス">
</div>

なぜ2枚かというと上にぼかした画像をかぶせてマウス位置に応じて透過度を調整しているからです。
というわけで、上にかぶせる画像は別途作成しましょう。
次にCSSで位置の調整をします。
#blur{ position:absolute; left:0; top:0; z-index:2;}
#under_image{ position:absolute; left:0; top:0; z-index:1}

純粋にpositionです。
最後にJSを記述すれば完成です。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" src="/test/js/jQuery.opacity-by-mouse.js"></script>
<script>
$(window).load(function(){
$('body').on({ mousemove:
function(event) {
var mouse_x = event.pageX - $(this).offset().left;
var mouse_y = event.pageY - $(this).offset().top;
var element_w = $(this).width();
var element_h = $(this).height();
if(element_w <= element_h){
var shortside_len = Math.round(parseInt(element_w) / 2);
}
else{
var shortside_len = Math.round(parseInt(element_h) / 2);
}
var center_x = Math.round(parseInt(element_w) / 2);
var center_y = Math.round(parseInt(element_h) / 2);
if(mouse_x <= center_x){
var plane_x = parseInt(center_x) - parseInt(mouse_x);
}
else{
var plane_x = parseInt(mouse_x) - parseInt(center_x);
}
if(mouse_y <= center_y){
var plane_y = parseInt(center_y) - parseInt(mouse_y);
}
else{
var plane_y = parseInt(mouse_y) - parseInt(center_y);
}
var distance = Math.round(Math.sqrt(Math.pow(parseInt(plane_x), 2) + Math.pow(parseInt(plane_y), 2)));
var average = parseInt(distance) / parseInt(shortside_len);
if(average < 1){
$(this).fadeTo( 0, average);
}
}
},'#blur');
});//]]>
</script>

マウス位置に応じて写真のぼかしを変化させるjQueryプラグイン「jquery-opacity-by-mouse-location」サンプル

sponsors

「マウス位置に応じて写真のぼかしを変化させるjQueryプラグイン「jquery-opacity-by-mouse-location」」をシェアする

記事作成:
記事URL:

TOP > > > マウス位置に応じて写真のぼかしを変化させるjQueryプラグイン「jquery-opacity-by-mouse-location」