This is my New jQuery Plugin. You can find the working example at http://jsfiddle.net/ajai/k8Ube/
Hope it will be useful to some one....
I have used "pixastic" for image processing.
To implement the plugin you have to include the pixastic library. and call the plugin in $(window).load event, Beacuse for image processing first the image should be loaded. Hope you all know $(window).load will be triggered after all the assets are loaded.
DEMO
Fork this on GitHub
How to use?
It is very simple to implement the plugin
1. include you jQuery
2. include Pixastic Library
3. include the plugin code
4. Add attribute fitler="blur" for images that you want to apply
5. on $(window).load Event call the following code
$('img').blurLens();
or
$('img').blurLens({
width: 200,
height: 200,
blur: 5
});
width - Width of lens
height - Height of lens
blur - Blur Amount
JQuery
(function ($) {
$.fn.blurLens = function (lensproperty) {
return $(this).each(function (ind, elm) {
if ($(elm).attr('filter') == 'blur') {
var w = 50;
var h = 50;
var blur = 2;
if (lensproperty && lensproperty.width) w = lensproperty.width;
if (lensproperty && lensproperty.height) h = lensproperty.height;
if (lensproperty && lensproperty.blur) blur = lensproperty.blur;
$(elm).wrap('
');
var wrapper = $('
').width($(elm).width()).height($(elm).height());
wrapper.appendTo($(elm).parent());
var lens = $('
').css('background', 'url(' + $(elm).attr('src') + ') no-repeat 0 0').width(w).height(h);
lens.appendTo(wrapper);
var endL = $(wrapper).width() - w;
var endT = $(wrapper).height() - h - 3;
$(wrapper).on('mousemove', function (e) {
lens.show();
var l = e.pageX - $(this).offset().left;
var t = e.pageY - $(this).offset().top;
lens.css({
left: l + 'px',
top: t + 'px',
'background-position': '-' + l + 'px -' + t + 'px'
});
});
$(wrapper).on('mouseout', function (e) {
lens.hide();
});
$(elm).parent().css('visibility', 'visible');
$(elm).pixastic("blurfast", {
amount: blur
});
}
});
}
})(jQuery);
CSS
.blur {
visibility: hidden;
position:relative;
}
.blur .lens-wrap {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
z-index:200;
overflow:hidden;
}
.blur .lens {
display:none;
width:50px;
height: 50px;
border:1px solid rgba(0, 0, 0, 0.5);
box-shadow:0px 0px 10px #333;
position:absolute;
top:0;
left:0;
/*border-radius:100%;*/
z-index:100;
box-sizing:border-box;
-moz-box-sizing:border-box;
-webkit-box-sizing:border-box;
}
[filter="blur"] {
visibility:hidden;
}
Comments
Post a Comment