articles

2013 年 7 月 21 日

jQueryプラグイン 星用

CATEGORYjQuery  12:58 AM
星がきらめくようなプラグインです。別に星じゃなくてもいいんですが、フェードインしてまたフェードアウトするようなオプションをとっていないので適当に調整する必要がありますが。
$("#star img").star();//フェードあり
$("#star img").star2();//明滅のみ

(function($) {
    
	/*初期設定*/
	$.fn.star=function(options){
		this.each(function(){
			var $this=$(this);
			$this.starFadeIn();
		});
		return this;
	};

	$.fn.starFadeIn=function(){
		p_obj=makePoint();
	$(this).css({"left":p_obj.x+"px","top":p_obj.y+"px"}).fadeIn(100).delay(p_obj.d).fadeOut(300,starFadeIn);
	}
	
	function starFadeIn(){
		$(this).starFadeIn();
	}


	$.fn.star2=function(){
		this.each(function(){
			var $this=$(this);
			$this.starShow();
		});
		return this;
	}

	$.fn.starShow=function(){
		// alert("s");
		p_obj=makePoint();
		// alert(p_obj);
		$(this).css({"left":p_obj.x+"px","top":p_obj.y+"px"}).delay(p_obj.d).show().delay(p_obj.d).hide(0,starShow);
		// delete p_obj;
	}

	function starShow(){
		$(this).starShow();
	}
    

    function makePoint(){
    	var x=Math.floor(Math.random()*1000)-200;
		var y=Math.floor(Math.random()*400);
		var d=Math.floor(Math.random()*1000)+300;
		obj={};
		obj.x=x;
		obj.y=y;
		obj.d=d;
		return obj;
    }
    
})(jQuery);