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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 16:21:28
字體:
來源:轉載
供稿:網友

jRumble是jquery的插件,可以讓你選擇的元素抖動。 調用時只需一句代碼即可,有些抖動效果還挺可愛,可自定義的抖動效果,十分的炫酷,有需要的小伙伴可以參考下。

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

jQuery jRumble是使用方法

 

 
  1. <script type="text/javascript" src="js/jquery-jrumble.js"></script> 
  2. <script type="text/javascript"
  3. $(document).ready(function(){  
  4. $('#demo1').jrumble({ 
  5. rangeX: 2, 
  6. rangeY: 2, 
  7. rangeRot: 1 
  8. }); 
  9.  
  10. $('#demo2').jrumble({ 
  11. rangeX: 10, 
  12. rangeY: 10, 
  13. rangeRot: 4 
  14. }); 
  15.  
  16. $('#demo3').jrumble({ 
  17. rangeX: 4, 
  18. rangeY: 0, 
  19. rangeRot: 0 
  20. }); 
  21.  
  22. $('#demo4').jrumble({ 
  23. rangeX: 0, 
  24. rangeY: 0, 
  25. rangeRot: 5 
  26. }); 
  27.  
  28. $('#demo5').jrumble({ 
  29. rumbleSpeed: 0 
  30. }); 
  31.  
  32. $('#demo6').jrumble({ 
  33. rumbleSpeed: 50 
  34. }); 
  35.  
  36. $('#demo7').jrumble({ 
  37. rumbleSpeed: 100 
  38. }); 
  39.  
  40. $('#demo8').jrumble({ 
  41. rumbleSpeed: 200 
  42. }); 
  43.  
  44. $('#demo9').jrumble({ 
  45. rumbleEvent: 'hover' 
  46. }); 
  47.  
  48. $('#demo10').jrumble({ 
  49. rumbleEvent: 'click' 
  50. }); 
  51.  
  52. $('#demo11').jrumble({ 
  53. rumbleEvent: 'mousedown' 
  54. }); 
  55.  
  56. $('#demo12').jrumble({ 
  57. rumbleEvent: 'constant' 
  58. });  
  59.  
  60. $('#demo13').jrumble({ 
  61. posX: 'left'
  62. posY: 'top' 
  63. }); 
  64.  
  65. $('#demo14').jrumble({ 
  66. posX: 'right'
  67. posY: 'top' 
  68. }); 
  69.  
  70. $('#demo15').jrumble({ 
  71. posX: 'left'
  72. posY: 'bottom' 
  73. }); 
  74.  
  75. $('#demo16').jrumble({ 
  76. posX: 'right'
  77. posY: 'bottom' 
  78. });  
  79.  
  80. $('.view-source pre').hide(); 
  81. $('.view-source a').toggle(function(){ 
  82. $(this).siblings('pre').stop(falsetrue).slideDown(500); 
  83. $(this).html('Hide Source'); 
  84. }, function(){ 
  85. $(this).siblings('pre').stop(falsetrue).slideUp(500); 
  86. $(this).html('View Source'); 
  87. }); 
  88. }); 
  89. </script> 

jRumble的參數配置

OptionDefaultDescription

rangeX2Set the horizontal rumble range (pixels)

rangeY2Set the vertical rumble range (pixels)

rangeRot1Set the rotation range (degrees)

rumbleSpeed10Set 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源碼

 

 
  1. /* 
  2. jRumble v1.1 - http://jackrugile.com/jrumble 
  3. by Jack Rugile - http://jackrugile.com 
  4. Copyright 2011, Jack Rugile 
  5. MIT license - http://www.opensource.org/licenses/mit-license.php 
  6. */ 
  7.  
  8. (function($){ 
  9. $.fn.jrumble = function(options){ 
  10.  
  11. // JRUMBLE OPTIONS 
  12. //--------------------------------- 
  13. var defaults = { 
  14. rangeX: 2, 
  15. rangeY: 2, 
  16. rangeRot: 1, 
  17. rumbleSpeed: 10, 
  18. rumbleEvent: 'hover'
  19. posX: 'left'
  20. posY: 'top' 
  21. }; 
  22.  
  23. var opt = $.extend(defaults, options); 
  24.  
  25. return this.each(function(){ 
  26.  
  27. // VARIABLE DECLARATION 
  28. //--------------------------------- 
  29. $obj = $(this);  
  30. var rumbleInterval;  
  31. var rangeX = opt.rangeX; 
  32. var rangeY = opt.rangeY; 
  33. var rangeRot = opt.rangeRot; 
  34. rangeX = rangeX*2; 
  35. rangeY = rangeY*2; 
  36. rangeRot = rangeRot*2; 
  37. var rumbleSpeed = opt.rumbleSpeed;  
  38. var objPosition = $obj.css('position'); 
  39. var objXrel = opt.posX; 
  40. var objYrel = opt.posY; 
  41. var objXmove; 
  42. var objYmove; 
  43. var inlineChange; 
  44.  
  45. // SET POSITION RELATION IF CHANGED 
  46. //--------------------------------- 
  47. if(objXrel === 'left'){ 
  48. objXmove = parseInt($obj.css('left'),10); 
  49. if(objXrel === 'right'){ 
  50. objXmove = parseInt($obj.css('right'),10); 
  51. if(objYrel === 'top'){ 
  52. objYmove = parseInt($obj.css('top'),10); 
  53. if(objYrel === 'bottom'){ 
  54. objYmove = parseInt($obj.css('bottom'),10); 
  55.  
  56. // RUMBLER FUNCTION 
  57. //---------------------------------  
  58. function rumbler(elem) {  
  59. var randBool = Math.random(); 
  60. var randX = Math.floor(Math.random() * (rangeX+1)) -rangeX/2; 
  61. var randY = Math.floor(Math.random() * (rangeY+1)) -rangeY/2; 
  62. var randRot = Math.floor(Math.random() * (rangeRot+1)) -rangeRot/2;  
  63.  
  64. // IF INLINE, MAKE INLINE-BLOCK FOR ROTATION 
  65. //--------------------------------- 
  66. if(elem.css('display') === 'inline'){ 
  67. inlineChange = true
  68. elem.css('display''inline-block'
  69.  
  70. // ENSURE MOVEMENT 
  71. //---------------------------------  
  72. if(randX === 0 && rangeX !== 0){ 
  73. if(randBool < .5){ 
  74. randX = 1; 
  75. else { 
  76. randX = -1; 
  77.  
  78. if(randY === 0 && rangeY !== 0){ 
  79. if(randBool < .5){ 
  80. randY = 1; 
  81. else { 
  82. randY = -1; 
  83.  
  84. // RUMBLE BASED ON POSITION 
  85. //--------------------------------- 
  86. if(objPosition === 'absolute'){ 
  87. elem.css({'position':'absolute','-webkit-transform''rotate('+randRot+'deg)''-moz-transform''rotate('+randRot+'deg)''-o-transform''rotate('+randRot+'deg)''transform''rotate('+randRot+'deg)'}); 
  88. elem.css(objXrel, objXmove+randX+'px'); 
  89. elem.css(objYrel, objYmove+randY+'px'); 
  90. if(objPosition === 'fixed'){ 
  91. elem.css({'position':'fixed','-webkit-transform''rotate('+randRot+'deg)''-moz-transform''rotate('+randRot+'deg)''-o-transform''rotate('+randRot+'deg)''transform''rotate('+randRot+'deg)'}); 
  92. elem.css(objXrel, objXmove+randX+'px'); 
  93. elem.css(objYrel, objYmove+randY+'px'); 
  94. if(objPosition === 'static' || objPosition === 'relative'){ 
  95. elem.css({'position':'relative','-webkit-transform''rotate('+randRot+'deg)''-moz-transform''rotate('+randRot+'deg)''-o-transform''rotate('+randRot+'deg)''transform''rotate('+randRot+'deg)'}); 
  96. elem.css(objXrel, randX+'px'); 
  97. elem.css(objYrel, randY+'px'); 
  98. // End rumbler function 
  99.  
  100. // EVENT TYPES (rumbleEvent) 
  101. //---------------------------------  
  102. var resetRumblerCSS = {'position':objPosition,'-webkit-transform''rotate(0deg)''-moz-transform''rotate(0deg)''-o-transform''rotate(0deg)''transform''rotate(0deg)'}; 
  103.  
  104. if(opt.rumbleEvent === 'hover'){ 
  105. $obj.hover( 
  106. function() { 
  107. var rumblee = $(this); 
  108. rumbleInterval = setInterval(function() { rumbler(rumblee); }, rumbleSpeed); 
  109. }, 
  110. function() { 
  111. var rumblee = $(this); 
  112. clearInterval(rumbleInterval); 
  113. rumblee.css(resetRumblerCSS); 
  114. rumblee.css(objXrel, objXmove+'px'); 
  115. rumblee.css(objYrel, objYmove+'px'); 
  116. if(inlineChange === true){ 
  117. rumblee.css('display','inline'); 
  118. ); 
  119.  
  120. if(opt.rumbleEvent === 'click'){ 
  121. $obj.toggle(function(){ 
  122. var rumblee = $(this); 
  123. rumbleInterval = setInterval(function() { rumbler(rumblee); }, rumbleSpeed); 
  124. }, function(){ 
  125. var rumblee = $(this); 
  126. clearInterval(rumbleInterval); 
  127. rumblee.css(resetRumblerCSS); 
  128. rumblee.css(objXrel, objXmove+'px'); 
  129. rumblee.css(objYrel, objYmove+'px'); 
  130. if(inlineChange === true){ 
  131. rumblee.css('display','inline'); 
  132. }); 
  133.  
  134. if(opt.rumbleEvent === 'mousedown'){ 
  135. $obj.bind({ 
  136. mousedown: function(){ 
  137. var rumblee = $(this); 
  138. rumbleInterval = setInterval(function() { rumbler(rumblee); }, rumbleSpeed); 
  139. },  
  140. mouseup: function(){ 
  141. var rumblee = $(this); 
  142. clearInterval(rumbleInterval); 
  143. rumblee.css(resetRumblerCSS); 
  144. rumblee.css(objXrel, objXmove+'px'); 
  145. rumblee.css(objYrel, objYmove+'px'); 
  146. if(inlineChange === true){ 
  147. rumblee.css('display','inline'); 
  148. }, 
  149. mouseout: function(){ 
  150. var rumblee = $(this); 
  151. clearInterval(rumbleInterval); 
  152. rumblee.css(resetRumblerCSS); 
  153. rumblee.css(objXrel, objXmove+'px'); 
  154. rumblee.css(objYrel, objYmove+'px'); 
  155. if(inlineChange === true){ 
  156. rumblee.css('display','inline'); 
  157. }); 
  158.  
  159. if(opt.rumbleEvent === 'constant'){ 
  160. var rumblee = $(this); 
  161. rumbleInterval = setInterval(function() { rumbler(rumblee); }, rumbleSpeed); 
  162.  
  163. }); 
  164. };  
  165. })(jQuery); 

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

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
911国产网站尤物在线观看| 国产精品久久综合av爱欲tv| 亚洲自拍另类欧美丝袜| 欧美性猛交xxxx乱大交3| 精品久久久av| 欧美性猛交xxxxx水多| 911国产网站尤物在线观看| 亚洲欧美中文在线视频| 国产日韩欧美在线观看| 一个色综合导航| 中文字幕久久久av一区| 国产视频久久久久| 美女黄色丝袜一区| 欧美日韩综合视频网址| 国产亚洲精品成人av久久ww| 亚洲mm色国产网站| 综合国产在线观看| 亚洲免费精彩视频| 正在播放国产一区| 中日韩午夜理伦电影免费| 久久九九全国免费精品观看| 2019中文字幕全在线观看| 久久久久国产精品免费网站| 精品久久久久人成| 亚洲第一页在线| 日韩在线观看视频免费| 欧美日韩成人免费| 国产成人精品亚洲精品| 日本欧美爱爱爱| 久久免费观看视频| 亚洲韩国青草视频| 国产亚洲一区二区精品| 欧美xxxx14xxxxx性爽| 性色av香蕉一区二区| 久久91亚洲精品中文字幕| 亚洲精品欧美日韩专区| 97精品视频在线观看| 亚洲国产精品人久久电影| 久久在线免费观看视频| 中日韩美女免费视频网址在线观看| 狠狠操狠狠色综合网| 亚洲国产精品专区久久| 国内精品久久久久影院 日本资源| 97色在线视频观看| 在线观看国产精品日韩av| 久久视频在线免费观看| 91黑丝在线观看| 欧美日韩一区二区三区在线免费观看| 亚洲第一偷拍网| 欧美性猛交xxxx乱大交极品| 日本欧美在线视频| 91精品成人久久| 亚洲图片欧美午夜| 亚洲热线99精品视频| 在线成人激情黄色| 国内久久久精品| 久久不射电影网| 欧美色道久久88综合亚洲精品| 91精品国产沙发| 亚洲美女在线观看| 91精品视频免费观看| 日韩av免费一区| 中文字幕国内精品| 在线播放精品一区二区三区| 狠狠色狠狠色综合日日五| 欧美限制级电影在线观看| 亚洲国产婷婷香蕉久久久久久| 亚洲精品黄网在线观看| 91热精品视频| 91在线免费网站| 日韩欧美成人免费视频| 久久精品青青大伊人av| 亚洲乱码av中文一区二区| 97香蕉久久夜色精品国产| www.亚洲男人天堂| 欧美激情免费看| 久久夜色精品国产欧美乱| 7777精品久久久久久| 亚洲国语精品自产拍在线观看| 日本韩国在线不卡| 成人精品久久久| 国产91色在线|免| 中文字幕精品一区二区精品| 成人激情黄色网| 欧美激情一区二区久久久| 91高清视频免费观看| 亚洲色图日韩av| 日韩美女视频中文字幕| 欧美日韩亚洲系列| 亚洲综合大片69999| 亚洲韩国欧洲国产日产av| 亚洲国产精品视频在线观看| 1769国内精品视频在线播放| 欧美极品少妇xxxxⅹ裸体艺术| 91精品国产自产在线观看永久| 尤物九九久久国产精品的特点| 欧美激情videos| 国产一区二区三区在线免费观看| 国产成人在线播放| 久久精品99久久久香蕉| 久久精品一偷一偷国产| 欧美性xxxxx极品娇小| 日韩精品欧美国产精品忘忧草| 成人黄色av免费在线观看| 亚洲激情在线观看| 日韩激情片免费| 日本国产一区二区三区| 欧美激情视频一区二区三区不卡| 国产综合香蕉五月婷在线| 亚洲国产高潮在线观看| 久久99热这里只有精品国产| 亚洲国产古装精品网站| 欧美极品少妇xxxxⅹ免费视频| 国产精品丝袜高跟| 伊人男人综合视频网| 日本韩国欧美精品大片卡二| 日韩经典中文字幕在线观看| 亚洲欧美日韩综合| 亚洲人成在线电影| 国产日韩精品在线播放| 国产成人精品一区二区在线| 亚洲福利视频专区| 欧美日韩中文字幕日韩欧美| 日韩中文有码在线视频| 日韩高清av一区二区三区| 国产日本欧美视频| 在线电影中文日韩| 91免费视频国产| 久久久久久久久网站| 精品中文字幕久久久久久| www.久久久久久.com| 欧美成人小视频| 最近中文字幕mv在线一区二区三区四区| 国产欧美一区二区三区在线| 国产一区二区三区免费视频| 久久天天躁夜夜躁狠狠躁2022| 国产suv精品一区二区三区88区| 国产亚洲欧美一区| 97免费在线视频| 成人黄色中文字幕| 久久色精品视频| 91精品在线播放| 伊人久久久久久久久久久久久| 久久久精品一区| 久久久久久av| 免费97视频在线精品国自产拍| 国产精品7m视频| 中文字幕亚洲欧美日韩高清| 最近2019中文字幕在线高清| 国产精品久久久久久久9999| 国产日韩在线精品av| 欧日韩在线观看| 成人精品在线观看| 97在线看福利| 欧美伊久线香蕉线新在线| 91老司机在线| 日韩精品免费一线在线观看| 国产成人aa精品一区在线播放| 精品在线欧美视频| 亚洲高清色综合| 国产成人av网址| 午夜欧美大片免费观看| 中文字幕在线精品| 日韩在线观看免费高清|