我已經寫在我的關於如何創建jQuery的陰影效果博客的一篇文章。你可以check it out here。該插件基本上創建一個背後的元素被陰影以創建陰影效果。 See the demo of that old version here。
我現在已經修改了插件,它現在使用的陰影效果CSS3爲支持或不支持的瀏覽器相同的基於div的陰影的瀏覽器。下面是代碼:
/**
* Drop Shadow Plugin jQuery
* http://sarfraznawaz.wordpress.com/
* Author: Sarfraz Ahmed ([email protected])
*/
(function($){
$.fn.dropshadow = function(settings){
// Extend default settings
var opts = $.extend({}, $.fn.dropshadow.defaults, settings);
// Check if CSS3 is supported
var style = $('div')[0].style;
var isCSS3 = style.MozBoxShadow !== undefined || style.WebkitBoxShadow !== undefined || style.BoxShadow !== undefined;
return this.each(function(settings){
var options = $.extend({}, opts, $(this).data());
var $this = $(this);
if (!isCSS3){
var styles = {
position: 'absolute',
width: $this.width() + 'px',
height: $this.height() + 'px',
backgroundColor: options.shadowColor,
zIndex: options.shadowLayer,
top: ($this.offset().top + parseInt(options.distance, 10)) + 'px',
left: ($this.offset().left + parseInt(options.distance, 10)) + 'px'
};
}
else{
var boxshadow = options.distance + ' ' + options.distance + ' ' + options.blur + ' ' + options.shadowColor;
var styles = {
position: 'absolute',
width: $this.width() + 'px',
height: $this.height() + 'px',
backgroundColor: options.shadowColor,
zIndex: options.shadowLayer,
top: $this.offset().top + 'px',
left: $this.offset().left + 'px',
MozBoxShadow:boxshadow,
WebkitBoxShadow:boxshadow,
BoxShadow:boxshadow
};
}
$('<div>').appendTo($('body')).css(styles);
});
}
// set default option values
$.fn.dropshadow.defaults = {
shadowColor: '#DFDFDF',
shadowLayer: -1,
distance:'5px',
blur:'3px'
}
})(jQuery);
這裏是如何使用它:
$(window).load(function(){
$('.shadow').dropshadow({
shadowColor: '#cccccc',
shadowLayer: -100,
distance:'6px',
blur:'3px'
});
});
是的,我看了一下該鏈接之前,我張貼了這個問題。我放棄它主要是因爲它在兩年前被問到。自那時以來,Lot一直在變化,另外我不想在我的試驗中在這一點上採用無人管理的代碼庫。 – 2010-10-14 05:17:23
但是IE呢?大多數人仍然使用IE。 – 2010-10-14 05:24:39
IE9支持'box-shadow'屬性。對於早期版本的IE,您需要使用神祕的'blur'過濾器。這是關於最接近您可以:http://msdn.microsoft.com/en-us/library/ms532979(VS.85).aspx – Blackcoat 2010-10-14 05:26:00