Guest User

Untitled

a guest
Jun 20th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.97 KB | None | 0 0
  1.  
  2. // CSS Classes
  3.  
  4. var hasClassName = function(element, className) {
  5. var elementClassName = element.className;
  6. return (elementClassName.length > 0 && (elementClassName == className ||
  7. new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName)));
  8. };
  9.  
  10. var addClassName = function(element, className) {
  11. if (!hasClassName(element, className))
  12. element.className += (element.className ? ' ' : '') + className;
  13. return element;
  14. };
  15.  
  16. var removeClassName = function(element, className) {
  17. element.className = element.className.replace(
  18. new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ');
  19. return element;
  20. };
  21.  
  22. if(!document.getElementsByClassName){
  23. document.getElementsByClassName = function(className) {
  24. var docList = this.all || this.getElementsByTagName('*');
  25. var matchArray = new Array();
  26. /*Create a regular expression object for class*/
  27. var re = new RegExp("(?:^|\\s)"+className+"(?:\\s|$)");
  28. for (var i = 0; i < docList.length; i++) {
  29. if (re.test(docList[i].className) ) {
  30. matchArray[matchArray.length] = docList[i];
  31. }
  32. }
  33. return matchArray;
  34. };
  35. }
  36.  
  37. // Events
  38.  
  39. var dispatchEvent = function(obj, type, bubble, canCancel){
  40. if(bubble == undefined){
  41. bubble = true;
  42. }
  43. if(canCancel == undefined){
  44. canCancel = true;
  45. }
  46. if(document.createEvent){
  47. var e = document.createEvent('HTMLEvents');
  48. if(e.initEvent){
  49. e.initEvent(type, bubble, canCancel);
  50. }
  51. if(obj.dispatchEvent){
  52. obj.dispatchEvent(e);
  53. }
  54. } else if(obj.fireEvent){
  55. obj.fireEvent('on'+type);
  56. }
  57. };
  58.  
  59. var bindEvent = function(el, event, callback){
  60. if ( document.addEventListener ) {
  61. el.addEventListener(event, callback, false );
  62. } else if ( document.attachEvent ) {
  63. el.attachEvent( "on"+event, callback );
  64. }
  65. }
  66.  
  67. // Animation
  68.  
  69. var setOpacity = function(e, obj, value){
  70. obj.style.opacity = value/100;
  71. obj.style.filter = 'alpha(opacity=' + value + ')';
  72. };
  73.  
  74. var fadeIn = function(obj, level, speed, callback){
  75. if (level === undefined) var level = 100;
  76. if (speed === undefined) var speed = 70;
  77. if (!speed)
  78. {
  79. setOpacity(null, obj, level*10);
  80. if (callback) callback();
  81. return;
  82. }
  83. setOpacity(null, obj, 0);
  84. for (var i=0; i<=level; i++){
  85. setTimeout(bind(setOpacity, obj, i*10), speed*i);
  86. }
  87. if (callback) setTimeout(callback, speed*(i+1));
  88. };
  89.  
  90. // Basic Functional
  91.  
  92. var lower = function(obj){
  93. return obj.toString().toLowerCase();
  94. };
  95. var collect = function(list,func){
  96. var x = [];
  97. for(var i=0; i<list.length; i++){
  98. if(func(list[i])){
  99. x.push(list[i]);
  100. }
  101. }
  102. return x;
  103. }
  104. var each = function(list,func){
  105. var x = [];
  106. for(var i=0; i<list.length; i++){
  107. x.push(func(list[i]));
  108. }
  109. return x;
  110. }
  111. var first = function(list,func){
  112. var x;
  113. for(var i=0; i<list.length; i++){
  114. x = func(list[i]);
  115. if(x){
  116. return list[i];
  117. }
  118. }
  119. }
  120. var merge = function(a,b){
  121. obj = {};
  122. for(prop in a){
  123. obj[prop] = a[prop];
  124. }
  125. for(prop in b){
  126. obj[prop] = b[prop];
  127. }
  128. return obj;
  129. }
Add Comment
Please, Sign In to add comment