/ Published in: JavaScript
Supersimple vignette plugin (req. gradients/CSS3). Use: $("body").vignette(); Options: from color, to color, fade time, vignette container class name
Bonus CSS: .vignette { height: 100%; width:100%; position:fixed; top:0; left:0; z-index:10000; background:rgba(0,0,0,.5); background: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 1000, from(rgba(0,0,0,.2)), to(rgba(0,0,0,.5))); background:-moz-radial-gradient(50% 50%,farthest-side,rgba(0,0,0,.2),rgba(0,0,0,.5)) }
Expand |
Embed | Plain Text
(function($){ $.fn.vignette=function(options){ var opts=$.extend({},$.fn.vignette.defaults,options); var vgn = $(this).children("div." + opts.className); if($(this).children("div." + opts.className).length) (vgn.is(':visible'))? vgn.fadeOut(opts.fade) : vgn.fadeIn(opts.fade); else { var bg = ($.browser.webkit)?"-webkit-gradient(radial, 50% 50%, 0, 50% "+ "50%, 1000,from("+opts.from+"),to("+opts.to+")":($.browser.mozilla)? "-moz-radial-gradient(50% 50%,farthest-side,"+opts.from+","+opts.to+")" : opts.to; $(this).append( $("<div/>") .css({ "height":"100%","width":"100%","position":"fixed","top":0, "left":0,"display":"none","background":bg,"z-index":10000 }) .click(function(){$(this).hide()}) .fadeIn(opts.fade) .addClass(opts.className) ); } }; $.fn.vignette.defaults={ from:"rgba(0,0,0,.2)", to:"rgba(0,0,0,.5)", fade:200, className:"vignette" }; })(jQuery);
You need to login to post a comment.
