user-functions-custom.html 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>jquery.pep custom functions</title>
  6. <!-- Load local jQuery. -->
  7. <script src="../libs/jquery/jquery.js"></script>
  8. <script src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
  9. <!-- Load local lib and tests. -->
  10. <script src="../src/jquery.pep.js"></script>
  11. <script type="text/javascript">
  12. $(document).ready(function(){
  13. function randomColor(){
  14. return '#'+Math.floor(Math.random()*16777215).toString(16);
  15. }
  16. // I scale during movement based on my velocity
  17. $('.pep1').pep({
  18. drag: function(ev, obj){
  19. obj.$el.css({ background: randomColor() });
  20. var vel = obj.velocity();
  21. var scale = Math.abs(vel.x + vel.y)/100 ;
  22. scale = (scale < 0.1) ? 0.1 : scale;
  23. obj.$el.css({
  24. "-webkit-transform": "scale("+ scale +")",
  25. "-moz-transform": "scale("+ scale +")",
  26. "-ms-transform": "scale("+ scale +")",
  27. "-o-transform": "scale("+ scale +")",
  28. "transform": "scale("+ scale +")"
  29. })
  30. },
  31. rest: function(ev, obj){
  32. obj.$el.css({
  33. "-webkit-transform": "scale(1)",
  34. "-moz-transform": "scale(1)",
  35. "-ms-transform": "scale(1)",
  36. "-o-transform": "scale(1)",
  37. "transform": "scale(1)"
  38. })
  39. }
  40. });
  41. //I tip based on my velocity in the x direction
  42. $('.pep2').pep({
  43. useCSSTranslation: false,
  44. drag: function(ev, obj){
  45. var vel = obj.velocity();
  46. var rot = (vel.x)/5;
  47. obj.$el.css({
  48. "-webkit-transform": "rotate("+ rot +"deg)",
  49. "-moz-transform": "rotate("+ rot +"deg)",
  50. "-ms-transform": "rotate("+ rot +"deg)",
  51. "-o-transform": "rotate("+ rot +"deg)",
  52. "transform": "rotate("+ rot +"deg)"
  53. });
  54. },
  55. rest: function(ev, obj){
  56. }
  57. });
  58. // I perk up when I move, I become angry when I am left alone.
  59. var active = false;
  60. // blink down
  61. setInterval(function(){ if (!active) return; $('.pep3').html("_ _ </br>() </br> \\_____/").delay(100); }, 300);
  62. // blink up
  63. setInterval(function(){ if (!active) return; $('.pep3').html("[] [] </br>() </br> \\_____/"); }, 500);
  64. $('.pep3').pep({
  65. start: function(ev, obj){
  66. active = true;
  67. obj.$el.html("[] [] </br>() </br> \\_____/").css({ fontSize: 50, textAlign: "center" });
  68. },
  69. rest: function(ev, obj){
  70. console.log('rest')
  71. active = false;
  72. obj.$el.html("- - </br>[] </br> ._____. </br>");
  73. }
  74. });
  75. // I change color on start, rotate on end.
  76. var rotate = 0
  77. $('.pep4').pep({
  78. start: function(ev, obj){
  79. $('body').css({background: '#333'});
  80. obj.$el.css({
  81. "-webkit-filter": "blur(100px)",
  82. "-moz-filter": "blur(100px)",
  83. "-ms-filter": "blur(100px)",
  84. "-o-filter": "blur(100px)",
  85. "filter": "blur(100px)"
  86. })
  87. },
  88. stop: function(ev, obj){
  89. $('body').css({background: 'white'});
  90. rotate += 1080;
  91. obj.$el.css({
  92. "-webkit-filter": "blur(0px)",
  93. "-moz-filter": "blur(0px)",
  94. "-ms-filter": "blur(0px)",
  95. "-o-filter": "blur(0px)",
  96. "filter": "blur(0px)"
  97. })
  98. }
  99. });
  100. }); <!-- doc ready -->
  101. </script>
  102. <style type="text/css">
  103. .pep{ width: 200px; height: 200px; color: white; opacity: 0.8 }
  104. .pep1{ background: blue; position: absolute; top: 0; left: 0px;}
  105. .pep2{ background: red; position: absolute; top: 20px; left: 150px;}
  106. .pep3{ background: green; position: absolute; top: 40px; left: 300px;}
  107. .pep4{ background: yellow; position: absolute; top: 60px; left: 450px; color: black; z-index: 9999999;}
  108. .bigspace{ display: inline-block; width: 100px; }
  109. </style>
  110. </head>
  111. <body>
  112. <div class="pep pep1">I scale during movement based on my velocity. I use the custom drag & rest functions.</div>
  113. <div class="pep pep2">I tip based on my velocity in the x direction. I use the custom drag function.</div>
  114. <div class="pep pep3">I perk up when I move, I become angry when I am left alone. I use custom start & rest functions.</div>
  115. <div class="pep pep4">I become a flashlight. I use custom start & stop functions.</div>
  116. </body>
  117. </html>