Skip to content

Instantly share code, notes, and snippets.

@ryanlane
Created October 4, 2012 16:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ryanlane/3834639 to your computer and use it in GitHub Desktop.
Save ryanlane/3834639 to your computer and use it in GitHub Desktop.
jQuery Wireframe plugin
(function ($) {
var placeholdertext = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum pulvinar risus nunc, nec posuere quam. Vivamus massa lacus, lobortis eget vehicula at, malesuada et enim. Vivamus condimentum justo quis orci tempor sed semper leo commodo. Fusce consectetur consequat felis non sodales. Pellentesque vitae lacus erat. Ut dignissim metus at tortor iaculis tincidunt sed suscipit metus. Nulla nec elit eu neque hendrerit tincidunt. Morbi eu laoreet lorem. In luctus diam a ligula semper eget condimentum leo rhoncus. Proin sagittis venenatis mauris, vel sagittis ligula sagittis blandit. Maecenas aliquam convallis ultrices. Maecenas tellus enim, fermentum vitae laoreet semper, aliquet a felis. Curabitur nec libero dolor. Aenean nec diam tortor. Donec nec diam nibh, et blandit erat. Cras facilisis tellus aliquam erat laoreet et laoreet dolor volutpat.";
var methods = {
init: function (options) {
//no init at this time.
//feature coming soon.
},
image: function (options) {
var defaults = {
image: '/img/placeholder.png',
label: 'image',
mouseOutColor: '#ffffff'
}
var options = $.extend(defaults, options);
return this.each(function () {
var o = options;
//var obj = $(this);
var cssObj = {
'background-color': 'rgba(0, 0, 0, 0.15)',
'border': '1px solid #999',
'text-align': 'center',
'position': 'relative'
}
$(this).css(cssObj);
$(this).append('<img src="' + o.image + '" />');
$(this).append('<span>' + o.label + '<span>');
var imagecss = {
'width': '100%',
'height': '100%'
}
$(this).children('img').css(imagecss);
var spancss = {
'position': 'absolute',
'left': '0',
'bottom': '0',
'width': '100%'
}
$(this).children('span').css(spancss);
});
},
text: function (options) {
var defaults = {
characters: 140,
size: '1em'
}
var options = $.extend(defaults, options);
return this.each(function () {
var substring = "";
var o = options;
if (o.characters > placeholdertext.length) {
var moretext = o.characters / placeholdertext.length;
for (i = 0; i < moretext; i++) {
substring += placeholdertext;
}
}
else {
substring = placeholdertext.substr(0, o.characters);
}
//var obj = $(this);
var cssObj = {
'font-size': o.size
}
$(this).css(cssObj);
$(this).append('<span>' + substring + '<span>');
});
},
box: function (options) {
var defaults = {
background: 'rgba(0, 0, 0, 0.10)',
border: '1px solid #999',
label: 'box'
}
var options = $.extend(defaults, options);
return this.each(function () {
var o = options;
var obj = $(this);
var cssObj = {
'background-color': o.background,
'border' : o.border,
'position': 'relative'
}
$(this).css(cssObj);
$(this).append('<span>' + o.label + '<span>');
var spancss = {
'position': 'absolute',
'left': '4px',
'top': '4px',
'width': '100%'
}
$(this).children('span').css(spancss);
});
}
};
$.fn.extend({
wireframe: function (method) {
if (methods[method]) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || !method) {
return methods.init.apply(this, arguments);
} else {
$.error('Method ' + method + ' does not exist on jQuery.tooltip');
}
}
});
})(jQuery);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment