syannu
4/26/2017 - 2:18 AM

Deferred

(function($) {
	var $bgX = $('.mod-x');

	var durationTime = 500;
	var easingType   = 'easeOutCubic';
	var delayTime    = 0;

	// 背景X
	function showBgX() {
		var d = new $.Deferred;

		$bgX.css('display', 'block').delay(delayTime).animate({
			opacity: 1
		}, durationTime, easingType, function() {
			d.resolve();
		});

		return d.promise();
	}

	// アニメーション関数連結
	showBgX()
		.then(hoge)
	;
})(jQuery);


// deferredの定義
// setTimeout, メソッドチェーン, コールバックでresolveしてpromise返す

setTimeout(function() {
	d.resolve();
}, 100);
return d.promise();

.promise()
.then(function() {
	d.resolve();
});
return d.promise();