サンプルコード
要素ごとに異なるオプションを指定するためにカスタムデータ属性を使う。
1 2 3 4 |
<p><img src="sample.jpg" data-size="20"></p> <p><img src="sample.jpg"></p> <p><img src="sample.jpg" data-size="30"></p> <script src="js/jquery.showsize.js"></script> |
1 |
$('img').showsize(); |
jquery.showsize.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
;(function($) { $.fn.showsize = function(options) { console.log(this); var elements = this; elements.each (function() { var opts = $.extend({}, $.fn.showsize.defaults, options, $(this).data()); $(this).click(function() { var msg = $(this).width() + 'x' + $(this).height(); $(this).wrap('<div style="position:relative;"></div>'); var div = $('<div>').text(msg).css('position','absolute').css('top',0) .css('padding','2px').css('background','black').css('color','white') .css('font-size',opts.size).css('opacity',opts.opacity); $(this).after(div); }); }); return this; }; $.fn.showsize.defaults = { size: 10, opacity: 0.9, }; })(jQuery); |