- ;(function($){
- $.fn.fangxiang = function(){
- var disL = $(this).offset().left;
- var disR = disL + $(this).outerWidth();
- var disT = $(this).offset().top;
- var disB = disT + $(this).outerHeight();
-
- $(this).hover(function(e){
- var dirL = Math.abs(e.clientX-disL);
- var dirR = Math.abs(e.clientX-disR);
- var dirT = Math.abs(e.clientY-disT);
- var dirB = Math.abs(e.clientY-disB);
-
- var dir = Math.min(dirL,dirR,dirT,dirB);
-
- switch(dir){
- case dirL:
- $(this).find("div").show().css({"left":-$(this).outerWidth(),"top":0}).stop().animate({"left":0},500);
- break;
- case dirR:
- $(this).find("div").show().css({"left":$(this).outerWidth(),"top":0}).stop().animate({"left":0},500);
- break;
- case dirT:
- $(this).find("div").show().css({"top":-$(this).outerHeight(),"left":0}).stop().animate({"top":0},500);
- break;
- case dirB:
- $(this).find("div").show().css({"top":$(this).outerHeight(),"left":0}).stop().animate({"top":0},500);
- break;
- }
-
-
- },function(e){
- var dirL = Math.abs(e.clientX-disL);
- var dirR = Math.abs(e.clientX-disR);
- var dirT = Math.abs(e.clientY-disT);
- var dirB = Math.abs(e.clientY-disB);
-
- var dir = Math.min(dirL,dirR,dirT,dirB);
-
- switch(dir){
- case dirL:
- $(this).find("div").stop().animate({"left":-$(this).outerWidth()},500);
- break;
- case dirR:
- $(this).find("div").stop().animate({"left":$(this).outerWidth()},500);
- break;
- case dirT:
- $(this).find("div").stop().animate({"top":-$(this).outerHeight()},500);
- break;
- case dirB:
- $(this).find("div").stop().animate({"top":$(this).outerHeight()},500);
- break;
- }
- })
- }
- })(jQuery);