国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

jQuery插件jRumble實(shí)現(xiàn)網(wǎng)頁(yè)元素抖動(dòng)

2019-11-20 12:21:13
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

jRumble,它能讓網(wǎng)頁(yè)上的任意元素抖動(dòng)起來(lái),在你的網(wǎng)站中使用這個(gè)效果會(huì)有很大的機(jī)率吸引用戶(hù)的注意力。此插件的效果可以用在鏈接上,或者div上,你可以設(shè)置抖動(dòng)的范圍、XY坐標(biāo)、抖動(dòng)幅度等。可設(shè)置為當(dāng)鼠標(biāo)移動(dòng)上去抖動(dòng)或者默認(rèn)一直抖動(dòng),插件可定制性還是蠻高的。PS:此插件在IE中還存在一些小問(wèn)題

jQuery jRumble是使用方法

<script type="text/javascript" src="js/jquery-jrumble.js"></script><script type="text/javascript">$(document).ready(function(){      $('#demo1').jrumble({ rangeX: 2, rangeY: 2, rangeRot: 1 });  $('#demo2').jrumble({ rangeX: 10, rangeY: 10, rangeRot: 4 });  $('#demo3').jrumble({ rangeX: 4, rangeY: 0, rangeRot: 0 });  $('#demo4').jrumble({ rangeX: 0, rangeY: 0, rangeRot: 5 });  $('#demo5').jrumble({ rumbleSpeed: 0 });  $('#demo6').jrumble({ rumbleSpeed: 50 });  $('#demo7').jrumble({ rumbleSpeed: 100 });  $('#demo8').jrumble({ rumbleSpeed: 200 });  $('#demo9').jrumble({ rumbleEvent: 'hover' });  $('#demo10').jrumble({ rumbleEvent: 'click' });  $('#demo11').jrumble({ rumbleEvent: 'mousedown' });  $('#demo12').jrumble({ rumbleEvent: 'constant' });   $('#demo13').jrumble({ posX: 'left', posY: 'top' });  $('#demo14').jrumble({ posX: 'right', posY: 'top' });  $('#demo15').jrumble({ posX: 'left', posY: 'bottom' });  $('#demo16').jrumble({ posX: 'right', posY: 'bottom' });   $('.view-source pre').hide(); $('.view-source a').toggle(function(){ $(this).siblings('pre').stop(false, true).slideDown(500); $(this).html('Hide Source'); }, function(){ $(this).siblings('pre').stop(false, true).slideUp(500); $(this).html('View Source'); });});</script>

jRumble的參數(shù)配置

Option Default Description
rangeX 2 Set the horizontal rumble range (pixels)
rangeY 2 Set the vertical rumble range (pixels)
rangeRot 1 Set the rotation range (degrees)
rumbleSpeed 10 Set the speed/frequency in milliseconds of the rumble (lower number = faster)
rumbleEvent ‘hover' Set the event that triggers the rumble (‘hover', ‘click',‘mousedown', ‘constant')
posX ‘left' If using jRumble on a fixed or absolute positioned element, choose ‘left' or ‘right' to match your CSS
posY ‘top' If using jRumble on a fixed or absolute positioned element, choose ‘top' or ‘bottom' to match your CSS

jquery-jrumble.js源碼

/*jRumble v1.1 - http://jackrugile.com/jrumbleby Jack Rugile - http://jackrugile.comCopyright 2011, Jack RugileMIT license - http://www.opensource.org/licenses/mit-license.php*/(function($){ $.fn.jrumble = function(options){  // JRUMBLE OPTIONS //--------------------------------- var defaults = {  rangeX: 2,  rangeY: 2,  rangeRot: 1,  rumbleSpeed: 10,  rumbleEvent: 'hover',  posX: 'left',  posY: 'top' }; var opt = $.extend(defaults, options); return this.each(function(){    // VARIABLE DECLARATION  //---------------------------------  $obj = $(this);    var rumbleInterval;   var rangeX = opt.rangeX;  var rangeY = opt.rangeY;  var rangeRot = opt.rangeRot;  rangeX = rangeX*2;  rangeY = rangeY*2;  rangeRot = rangeRot*2;  var rumbleSpeed = opt.rumbleSpeed;    var objPosition = $obj.css('position');  var objXrel = opt.posX;  var objYrel = opt.posY;  var objXmove;  var objYmove;  var inlineChange;    // SET POSITION RELATION IF CHANGED  //---------------------------------  if(objXrel === 'left'){  objXmove = parseInt($obj.css('left'),10);  }  if(objXrel === 'right'){  objXmove = parseInt($obj.css('right'),10);  }  if(objYrel === 'top'){  objYmove = parseInt($obj.css('top'),10);  }  if(objYrel === 'bottom'){  objYmove = parseInt($obj.css('bottom'),10);  }    // RUMBLER FUNCTION  //---------------------------------    function rumbler(elem) {    var randBool = Math.random();  var randX = Math.floor(Math.random() * (rangeX+1)) -rangeX/2;  var randY = Math.floor(Math.random() * (rangeY+1)) -rangeY/2;  var randRot = Math.floor(Math.random() * (rangeRot+1)) -rangeRot/2;     // IF INLINE, MAKE INLINE-BLOCK FOR ROTATION  //---------------------------------  if(elem.css('display') === 'inline'){   inlineChange = true;   elem.css('display', 'inline-block')  }    // ENSURE MOVEMENT  //---------------------------------    if(randX === 0 && rangeX !== 0){   if(randBool < .5){   randX = 1;   }   else {   randX = -1;   }  }    if(randY === 0 && rangeY !== 0){   if(randBool < .5){   randY = 1;   }   else {   randY = -1;   }  }    // RUMBLE BASED ON POSITION  //---------------------------------  if(objPosition === 'absolute'){   elem.css({'position':'absolute','-webkit-transform': 'rotate('+randRot+'deg)', '-moz-transform': 'rotate('+randRot+'deg)', '-o-transform': 'rotate('+randRot+'deg)', 'transform': 'rotate('+randRot+'deg)'});   elem.css(objXrel, objXmove+randX+'px');   elem.css(objYrel, objYmove+randY+'px');  }  if(objPosition === 'fixed'){   elem.css({'position':'fixed','-webkit-transform': 'rotate('+randRot+'deg)', '-moz-transform': 'rotate('+randRot+'deg)', '-o-transform': 'rotate('+randRot+'deg)', 'transform': 'rotate('+randRot+'deg)'});   elem.css(objXrel, objXmove+randX+'px');   elem.css(objYrel, objYmove+randY+'px');  }  if(objPosition === 'static' || objPosition === 'relative'){   elem.css({'position':'relative','-webkit-transform': 'rotate('+randRot+'deg)', '-moz-transform': 'rotate('+randRot+'deg)', '-o-transform': 'rotate('+randRot+'deg)', 'transform': 'rotate('+randRot+'deg)'});   elem.css(objXrel, randX+'px');   elem.css(objYrel, randY+'px');  }  } // End rumbler function    // EVENT TYPES (rumbleEvent)  //---------------------------------   var resetRumblerCSS = {'position':objPosition,'-webkit-transform': 'rotate(0deg)', '-moz-transform': 'rotate(0deg)', '-o-transform': 'rotate(0deg)', 'transform': 'rotate(0deg)'};    if(opt.rumbleEvent === 'hover'){  $obj.hover(   function() {   var rumblee = $(this);   rumbleInterval = setInterval(function() { rumbler(rumblee); }, rumbleSpeed);   },   function() {   var rumblee = $(this);   clearInterval(rumbleInterval);   rumblee.css(resetRumblerCSS);   rumblee.css(objXrel, objXmove+'px');   rumblee.css(objYrel, objYmove+'px');   if(inlineChange === true){    rumblee.css('display','inline');   }   }  );  }    if(opt.rumbleEvent === 'click'){  $obj.toggle(function(){   var rumblee = $(this);   rumbleInterval = setInterval(function() { rumbler(rumblee); }, rumbleSpeed);  }, function(){   var rumblee = $(this);   clearInterval(rumbleInterval);   rumblee.css(resetRumblerCSS);   rumblee.css(objXrel, objXmove+'px');   rumblee.css(objYrel, objYmove+'px');   if(inlineChange === true){   rumblee.css('display','inline');   }  });  }    if(opt.rumbleEvent === 'mousedown'){  $obj.bind({   mousedown: function(){   var rumblee = $(this);   rumbleInterval = setInterval(function() { rumbler(rumblee); }, rumbleSpeed);   },    mouseup: function(){   var rumblee = $(this);   clearInterval(rumbleInterval);   rumblee.css(resetRumblerCSS);   rumblee.css(objXrel, objXmove+'px');   rumblee.css(objYrel, objYmove+'px');   if(inlineChange === true){    rumblee.css('display','inline');   }   },   mouseout: function(){   var rumblee = $(this);   clearInterval(rumbleInterval);   rumblee.css(resetRumblerCSS);   rumblee.css(objXrel, objXmove+'px');   rumblee.css(objYrel, objYmove+'px');   if(inlineChange === true){    rumblee.css('display','inline');   }   }  });  }    if(opt.rumbleEvent === 'constant'){  var rumblee = $(this);  rumbleInterval = setInterval(function() { rumbler(rumblee); }, rumbleSpeed);  }   }); }; })(jQuery);

在線(xiàn)演示 http://jackrugile.com/jrumble/#demos

源碼下載 http://jackrugile.com/jrumble/jquery.jrumble.1.3.zip

以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 牟定县| 永清县| 察隅县| 宝坻区| 友谊县| 铜鼓县| 彭泽县| 隆子县| 白河县| 广安市| 柳河县| 手游| 博湖县| 枝江市| 灵台县| 壶关县| 咸阳市| 多伦县| 崇阳县| 安达市| 莱州市| 元阳县| 潼关县| 仙桃市| 成武县| 漳州市| 天长市| 西青区| 鱼台县| 青岛市| 彭水| 江陵县| 马关县| 泗阳县| 巴南区| 隆德县| 买车| 拉萨市| 油尖旺区| 台东县| 武安市|