晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 sh-3ll

HOME


sh-3ll 1.0
DIR:/home/salvufkx/homedir/www/wp-content/plugins/simple-lightbox/themes/default/js/dev/
Upload File :
Current File : /home/salvufkx/homedir/www/wp-content/plugins/simple-lightbox/themes/default/js/dev/client.js
if ( !!window.SLB && SLB.has_child('View.extend_theme') ) {(function($) {
SLB.View.extend_theme('slb_default', {
	/**
	 * Transition event handlers
	 */
	'transition': {
		/**
		 * Open event
		 * @param View.Viewer v Viewer instance
		 * @param deferred dfr Resolved when transition is complete
		 * @return promise Resolved when transition is complete
		 */
		'open': function(v, dfr) {
			// Reset layout and overlay state on open
			var l = v.get_layout().hide(),
				o = v.get_overlay().hide();
			
			// Clean UI
			var thm = this;
			var d = v.dom_get();
			d.find('.slb_content').css({width: '', height: ''}).find(this.get_tag_selector()).hide();
			d.find('.slb_details').height(0);
			// Show viewer DOM
			d.show({'always': function() {
				var pos = {'top_base': $(document).scrollTop()};
				if ( document.documentElement.clientWidth > thm.get_breakpoint('small') ) {
					/* Standard screen */
					// Center vertically
					pos.top = ( pos.top_base + $(window).height() / 2 ) - ( l.height() / 2 );
					if ( pos.top < pos.top_base ) {
						pos.top = pos.top_base;
					}
				} else {
					/* Small screen */
					// Position at top
					pos.top = pos.top_base;
				}
				// Show overlay
				o.fadeIn({'always': function() {
					// Position lightbox
					l.css(pos);
					dfr.resolve();
				}});
			}});
			return dfr.promise();
		},
		/**
		 * Close event
		 * @param View.Viewer v Viewer instance
		 * @param jQuery.Deferred dfr Deferred instance to be resolved when animation is complete
		 * @return jQuery.Promise Resolved when transition is complete
		 */
		'close': function(v, dfr) {
			// Viewer elements
			var l = v.get_layout(),
				c = l.find('.slb_content');
			// Reset procedure
			var reset = function() {
				// Reset state
				c.width('').height('');
				l.css('opacity', '');
				dfr.resolve();
			};
			if ( v.animation_enabled() && document.documentElement.clientWidth > this.get_breakpoint('small') ) { 
				/* Standard */
				var anims = {
					'layout': { opacity: 0, top: $(document).scrollTop() + ( $(window).height() / 2 ) },
					'content': { width: 0, height: 0 },
					'speed': 'fast'
				};
				// Shrink & fade out viewer
				var pos = l.animate(anims.layout, anims.speed).promise();
				var size = c.animate(anims.content, anims.speed).promise();
				$.when(pos, size).done(function() {
					// Fade out overlay
					v.get_overlay().fadeOut({'always': function() {
						reset();
					}});
				});
			} else {
				l.css('opacity', 0);
				reset();
			}
			return dfr.promise();
		},
		/**
		 * Item loading event
		 * @param View.Viewer v Viewer instance
		 * @param deferred dfr Resolved when animation is complete
		 * @return promise Resolved when transition is complete
		 */
		'load': function(v) {
			v.get_layout().find('.slb_loading').show();
			if ( document.documentElement.clientWidth > this.get_breakpoint('small') ) {
				return v.get_layout().fadeIn().promise();
			} else {
				return v.get_layout().show().promise();
			}
		},
		/**
		 * Item unloaded event
		 * @param View.Viewer v Viewer instance
		 * @param jQuery.Deferred dfr Deferred instance to be resolved when animation is complete
		 * @return jQuery.Promise Resolved when transition is complete
		 */
		'unload': function(v, dfr) {
			var l = v.get_layout(),
				det = l.find('.slb_details'),
				cont = l.find('.slb_content ' + this.get_tag_selector());
			var props = {height: 0};
			// Hide details
			det.css(props);
			// Hide content
			cont.hide();
			// Finish
			$.when(det.promise(), cont.promise()).done(function() {
				dfr.resolve();
			});
			return dfr.promise();
		},
		/**
		 * Item loading completed event
		 * @param View.Viewer v Viewer instance
		 * @param jQuery.Deferred dfr Deferred instance to be resolved when animation is complete
		 * @return jQuery.Promise Resolved when transition is complete
		 */
		'complete': function(v, dfr) {
			// Elements
			var l = v.get_layout(),
				loader = l.find('.slb_loading'),
				det = l.find('.slb_details'),
				det_data = det.find('.slb_data'),
				c = l.find('.slb_content'),
				c_tag = c.find( this.get_tag_selector() );
			// Transition
			if ( document.documentElement.clientWidth > this.get_breakpoint('small') ) {
				var spd = 'fast';
				// Resize viewer to fit item
				var dims_item = this.get_item_dimensions();
				// Determine details height
				det.width(dims_item.width);
				var dims_det = {'height': det_data.outerHeight()};
				// Reset width
				det.width('');
				// Determine vertical positioning (centered)
				var pos = { 'top_base': $(document).scrollTop() };
				// Center vertically
				pos.top = pos.top_base + ( $(window).height() / 2 ) - ( ( dims_det.height + dims_item.height ) / 2 );
				if ( pos.top < pos.top_base ) {
					pos.top = pos.top_base;
				}
				
				// Position/Resize viewer
				pos = l.animate(pos, spd).promise();
				dims_item = c.animate(dims_item, spd).promise();
				// Display elements
				var thm = this;
				$.when(pos, dims_item).done(function() {
					// Hide loading indicator
					loader.fadeOut(spd, function() {
						// Display content
						c.find( thm.get_tag_selector('item', 'content') ).fadeIn(function() {
							// Show UI
							c_tag.show();
							// Show details
							det.animate({'height': det_data.outerHeight()}, 'slow').promise().done(function() {
								det.height('');
								dfr.resolve();
							});
						});
					});
				});
			} else {
				loader.hide();
				c_tag.show();
				det.height('');
				dfr.resolve();
			}
			return dfr.promise();
		}
	}
});
})(jQuery);
}