Current state
This commit is contained in:
134
public/legacy/js/jquery.thumbs.js
Normal file
134
public/legacy/js/jquery.thumbs.js
Normal file
@@ -0,0 +1,134 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2006-2010 Joan Piedra (http://joanpiedra.com)
|
||||
* Licensed under the MIT License:
|
||||
* http://www.opensource.org/licenses/mit-license.php
|
||||
*
|
||||
*/
|
||||
(function($) {
|
||||
|
||||
/*
|
||||
* Converts image and link elements to thumbnails
|
||||
*
|
||||
* @name $.fn.thumbs
|
||||
* @author Joan Piedra (http://joanpiedra.com)
|
||||
* @example $('.thumb').thumbs();
|
||||
*
|
||||
*/
|
||||
$.fn.thumbs = function(options) {
|
||||
var $thumbs = this;
|
||||
|
||||
if (options == 'destroy') {
|
||||
return Thumbs.destroy($thumbs);
|
||||
}
|
||||
|
||||
if( $thumbs.data('thumbs') ) {
|
||||
return $thumbs;
|
||||
}
|
||||
|
||||
var center = {},
|
||||
defaults = {
|
||||
center: true,
|
||||
classNames: {
|
||||
center: 'thumb-center',
|
||||
container: 'thumb-container',
|
||||
icon: 'thumb-icon',
|
||||
img: 'thumb-img',
|
||||
inner: 'thumb-inner',
|
||||
strip: 'thumb-strip'
|
||||
},
|
||||
html: '<span class="%container%"><span class="%inner%"><span class="%img%"></span><span class="%strip%">%strip_content%</span><span class="%icon%"></span></span></span>',
|
||||
strip: true
|
||||
};
|
||||
|
||||
options = $.extend(true, {}, defaults, options);
|
||||
|
||||
return $thumbs.each(function(){
|
||||
var $thumb = $(this),
|
||||
c = options.classNames,
|
||||
clone = $thumb.clone(true),
|
||||
html = new String(options.html),
|
||||
centered = false,
|
||||
strip = '';
|
||||
|
||||
for (className in c) {
|
||||
var newClassName = c[className];
|
||||
|
||||
if ( options.center && !centered && className == 'container' ) {
|
||||
newClassName = c.container + ' ' + c.center;
|
||||
centered = true;
|
||||
}
|
||||
|
||||
html = html.replace('%' + className + '%', newClassName);
|
||||
}
|
||||
|
||||
if (options.strip) {
|
||||
strip = $thumb.is('img') ? $thumb.attr('alt') : $thumb.find('img').attr('alt');
|
||||
strip = strip != undefined ? strip : $thumb.attr('title');
|
||||
strip = strip != undefined ? strip : '';
|
||||
}
|
||||
|
||||
html = html.replace('%strip_content%', strip);
|
||||
|
||||
$thumb.wrap( html );
|
||||
|
||||
if (options.center) {
|
||||
Thumbs.centerImg( $thumb );
|
||||
}
|
||||
|
||||
var data = {
|
||||
'container': $thumb.parents('.' + c.container),
|
||||
'raw': clone
|
||||
};
|
||||
|
||||
$thumb.data('thumbs', data);
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
var Thumbs = {
|
||||
|
||||
/*
|
||||
* Private: Absolute positions the image in the center of the thumbnail frame
|
||||
*
|
||||
* @name thumbs.centerImg
|
||||
* @author Joan Piedra (http://joanpiedra.com)
|
||||
* @example Thumbs.centerImg($thumb);
|
||||
*
|
||||
*/
|
||||
centerImg: function($thumb) {
|
||||
var $img = $thumb.is('img') ? $thumb : $thumb.find('img'),
|
||||
css = {
|
||||
left: '-' + ( parseInt( $img.css('width') ) / 2 ) + 'px',
|
||||
top: '-' + ( parseInt( $img.css('height') ) / 2 ) + 'px'
|
||||
};
|
||||
|
||||
$img.css( css );
|
||||
|
||||
return $thumb;
|
||||
},
|
||||
|
||||
/*
|
||||
* Private: Removes all the added thumbnail html
|
||||
*
|
||||
* @name thumbs.destroy
|
||||
* @author Joan Piedra (http://joanpiedra.com)
|
||||
* @example Thumbs.destroy($thumbs);
|
||||
*
|
||||
*/
|
||||
destroy: function($thumbs) {
|
||||
$thumbs.each(function(index) {
|
||||
var $thumb = $(this),
|
||||
data = $thumb.data('thumbs');
|
||||
|
||||
if (!data) {
|
||||
return;
|
||||
}
|
||||
|
||||
data.container.after(data.raw).remove();
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
})(jQuery);
|
||||
Reference in New Issue
Block a user