亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery插件jRumble實現網頁元素抖動

2019-11-20 12:21:13
字體:
來源:轉載
供稿:網友

jRumble,它能讓網頁上的任意元素抖動起來,在你的網站中使用這個效果會有很大的機率吸引用戶的注意力。此插件的效果可以用在鏈接上,或者div上,你可以設置抖動的范圍、XY坐標、抖動幅度等??稍O置為當鼠標移動上去抖動或者默認一直抖動,插件可定制性還是蠻高的。PS:此插件在IE中還存在一些小問題

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的參數配置

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);

在線演示 http://jackrugile.com/jrumble/#demos

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

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产69精品久久久| 久久久精品久久久| 亚洲综合精品一区二区| www.99久久热国产日韩欧美.com| 国产成人精品在线播放| 精品露脸国产偷人在视频| 亚洲国产精品一区二区三区| 久久亚洲国产成人| 国产精品久久久久国产a级| 欧美视频在线观看免费网址| 亚洲精品国产精品久久清纯直播| 91sao在线观看国产| 高跟丝袜一区二区三区| 国产精品v片在线观看不卡| 久久精品99久久久久久久久| 午夜免费日韩视频| 国内精品一区二区三区四区| 国产精品高精视频免费| 国产91精品久久久久久| 国产一区玩具在线观看| 韩国三级日本三级少妇99| 成人久久18免费网站图片| 久久久这里只有精品视频| 大桥未久av一区二区三区| 欧美肥臀大乳一区二区免费视频| 国产成人涩涩涩视频在线观看| 午夜精品国产精品大乳美女| 97视频人免费观看| 国产精品自产拍在线观| 国产成人久久久精品一区| 欧美成人免费大片| 在线观看国产精品日韩av| 亚洲a区在线视频| 国产精品免费网站| 亚洲一区二区精品| 这里只有视频精品| 51视频国产精品一区二区| 日韩午夜在线视频| 91亚洲人电影| 欧美精品九九久久| 欧美激情精品久久久久久黑人| 久久久久久久久久久国产| 55夜色66夜色国产精品视频| 日韩精品999| 日本久久久久久久久久久| 国产男人精品视频| 97久久国产精品| 亚洲美女精品成人在线视频| 欧洲亚洲在线视频| 日韩欧美在线视频日韩欧美在线视频| 992tv成人免费影院| 亚洲精品美女在线观看播放| 97免费在线视频| 亚洲自拍欧美色图| 国产成人精品在线视频| 日韩综合中文字幕| 久久久精品国产网站| 精品一区二区三区四区| 欧美日韩一区二区三区在线免费观看| 亚洲国产欧美一区二区三区久久| 国产精品一区专区欧美日韩| 精品亚洲一区二区三区在线观看| 国产精品大片wwwwww| 久久精品视频网站| 午夜精品久久久99热福利| 久久精品国产99国产精品澳门| 精品少妇一区二区30p| 欧美最猛性xxxxx亚洲精品| 亚洲精品美女在线| 午夜欧美大片免费观看| 日韩大片在线观看视频| 欧美日韩国产激情| 欧美大片在线看| 国产有码在线一区二区视频| 欧美一区二区三区免费观看| 91精品啪在线观看麻豆免费| 91精品国产精品| 国内精品久久久久久久久| 成人淫片在线看| 97精品视频在线观看| 亚洲成人999| 国产精品人成电影| 亚洲社区在线观看| 精品视频在线播放免| 国产亚洲激情视频在线| 精品亚洲一区二区| 热99精品只有里视频精品| 欧美黑人一区二区三区| 亚洲欧洲在线视频| 亚洲一品av免费观看| 国产一区二区成人| 亚洲女人天堂成人av在线| 日韩电影大片中文字幕| www.日韩视频| 亚洲国产精彩中文乱码av| 一区三区二区视频| 欧美激情精品久久久久久黑人| www.欧美三级电影.com| 国产成+人+综合+亚洲欧美丁香花| 欧美午夜宅男影院在线观看| 亚洲人成电影网站色…| 国产a∨精品一区二区三区不卡| 国产精品91久久| 欧美成人性色生活仑片| 精品国偷自产在线| 韩国美女主播一区| 亚洲欧美国产精品va在线观看| 国产午夜精品视频免费不卡69堂| 国产欧美一区二区三区在线| 色悠久久久久综合先锋影音下载| 最好看的2019年中文视频| 欧美日韩亚洲系列| 久久久久国色av免费观看性色| 国内精品久久久久久中文字幕| 国产免费一区二区三区在线能观看| 亚洲第一国产精品| 成人福利视频在线观看| 国产一区二区三区在线视频| 亚洲白虎美女被爆操| 久久综合国产精品台湾中文娱乐网| 性色av一区二区三区免费| 欧美国产日韩xxxxx| 国产丝袜高跟一区| 亚洲精品视频在线播放| 亚洲男人天堂2024| 日本中文字幕不卡免费| 91免费看视频.| 亚洲欧美一区二区三区在线| www亚洲欧美| 一区二区三区日韩在线| 欧美性猛交xxxx免费看久久久| 欧美极品在线视频| 91色精品视频在线| 免费99精品国产自在在线| 亚洲欧美日韩高清| 国产九九精品视频| 欧美专区国产专区| 欧美精品第一页在线播放| 成人动漫网站在线观看| 亚洲片国产一区一级在线观看| 欧美精品成人91久久久久久久| 欧美激情中文网| 97激碰免费视频| 国产成人精品电影| 日本久久久久久久久久久| 亚洲成人久久网| 色先锋久久影院av| 欧美日韩一区二区免费视频| 国产精品视频在线观看| 国产精品嫩草影院一区二区| 精品亚洲永久免费精品| 日韩精品视频在线播放| 成人激情视频小说免费下载| 91久久嫩草影院一区二区| 亚洲精品成人久久电影| 国产精品激情av在线播放| 日日骚久久av| 亚洲第一福利网| 久久免费福利视频| 欧美电影免费观看高清完整| 久久精品中文字幕| 欧美午夜视频在线观看| 欧美日韩亚洲一区二区三区| 日韩欧美在线视频观看|