jQuery 旋轉插件 jqueryrotate 用法詳解


jqueryrotate 是可以實現 jQuery 旋轉效果的插件,它支持 Internet Explorer 6.0+ 、Firefox 2.0 、Safari 3 、Opera 9 、Google Chrome,高級瀏覽器下使用duTransform,低版本ie使用VML實現。

rotate() 方法:

屬性參數:

參數 類型 說明 默認值
angle 數字 旋轉一個角度 0
animateTo 數字 從當前的角度旋轉到多少度 0
step 函數 每個動畫步驟中執行的回調函數,當前角度值作為該函數的第一個參數
easing 函數 自定義旋轉速度、旋轉效果,需要使用 jQuery.easing.js
duration 整數 旋轉持續時間,以毫秒為單位  
callback 函數 旋轉完成后的回調函數
getRotateAngle 函數 返回旋轉對象當前的角度
stopRotate 函數 停止旋轉

1.angle屬性:[Number] – default 0 – 旋轉的角度數,並且立即執行

$(“#img”).rotate({angle:45});

2.bind屬性:[Object] 對象,包含綁定到一個旋轉對象的事件。事件內部的$(this)指向旋轉對象-這樣可以在內部鏈式調用- $(this).rotate(…)。

$("#img").rotate({
  bind:{
    click: function(){
      $(this).rotate({
        angle: 0,
        animateTo:180
      })
    }
  }
});

3.animateTo屬性:[Number] – default 0 – 從當前角度值動畫旋轉到給定的角度值 (或給定的角度參數)

4.duration屬性:[Number] – 指定使用animateTo的動畫執行持續時間

$("#img").rotate({
  bind:{
    click: function() {
      $(this).rotate({
        duration: 6000,
        angle: 0,
        animateTo:100
      })
    }
  }
});

5. step屬性:[Function] – 每個動畫步驟中執行的回調函數,當前角度值作為該函數的第一個參數

6.  easing屬性:[Function] – 默認 (see below) 
默認:function (x, t, b, c, d) { return -c * ((t=t/d-1)*t*t*t - 1) + b; }

Where:

t: current time,

b: begInnIng value,

c: change In value,

d: duration,

x: unused

沒有漸變:No easing (linear easing):function(x, t, b, c, d) { return (t/d)*c ; }

7.callback屬性:[Function] 動畫完成時執行的回調函數

// 旋轉完成后彈出1
$("#img").rotate({
  bind:{
    click: function(){
      $(this).rotate({
        angle: 0,
        animateTo:180,
        callback: function(){ 
          alert(1)
        }
      })
    }
  }
});

8. getRotateAngle這個函數只是簡單地返回旋轉對象當前的角度。

// 旋轉完成后,點擊彈出當前角度45
$("#img").rotate({
  angle: 45,
  bind: {
    click : function(){
      alert($(this).getRotateAngle());
    }
  }
});

9.stopRotate這個函數只是簡單地停止正在進行的旋轉動畫。例如:

// 點擊旋轉180 延遲1秒停止旋轉
$("#img").rotate({
    bind: {
        click: function(){
            $(this).rotate({
                angle: 0,
                animateTo: 180,
                duration: 6000
            });
        setTimeout(function(){
            $("#img").stopRotate();
            }, 1000);
        }
    }
});

示例1:直接旋轉一個角度

$('#img1').rotate(45);  

// 或者

$('#img1').rotate({angle:45});  

示例2:鼠標移動效果

$('#img2').rotate({   
    bind : {  
        mouseover : function(){  
            $(this).rotate({animateTo: 180});  
        }, mouseout : function(){  
            $(this).rotate({animateTo: 0});  
        }  
    }  
}); 

示例3:不停旋轉

var angle = 0;  
setInterval(function(){  
    angle +=3;  
    $('#img3').rotate(angle);  
}, 50);  

// 或者

var rotation = function (){  
    $('#img4').rotate({  
        angle: 0,   
        animateTo: 360,   
        callback: rotation  
    });  
}  
rotation();

// 或者

var rotation2 = function(){  
    $('#img5').rotate({  
        angle: 0,   
        animateTo: 360,   
        callback: rotation2,  
        easing: function(x,t,b,c,d){  
            return c*(t/d)+b;  
        }  
    });  
}  
rotation2();

示例4:點擊旋轉

$('#img6').rotate({   
    bind: {  
        click: function(){  
            $(this).rotate({  
                angle: 0,  
                animateTo: 180,  
                easing: $.easing.easeInOutExpo  
            });  
        }  
    }  
});

// 或者

var value2 = 0;  
$('#img7').rotate({   
    bind: {  
        click: function(){  
            value2 +=90;  
            $(this).rotate({  
                animateTo: value2  
            });  
        }  
    }  
});

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM