文本框文字处理工具类js+代码高亮组件

简介:

CodeMirror是一个很好的高亮编辑js库

Java代码   收藏代码
  1. //////// 文本框文字处理 ////////  
  2. /* 
  3. input 对象 
  4. if selectionStart=selectionEnd is point 
  5. else 是string 
  6. */  
  7. function setSelectionRange(input, selectionStart, selectionEnd) {  
  8.   if (input.setSelectionRange) {   //firefox  
  9.     input.focus();  
  10.     input.setSelectionRange(selectionStart, selectionEnd);  
  11.   }else if (input.createTextRange) { //ie  
  12.     var range = input.createTextRange();  
  13.     range.collapse(true);  
  14.     range.moveEnd('character', selectionEnd);  
  15.     range.moveStart('character', selectionStart);  
  16.     range.select();  
  17.   }  
  18. }  
  19. function setCaretToEnd (input) {  
  20.   setSelectionRange(input, input.value.length, input.value.length);  
  21. }  
  22. function setCaretToBegin (input) {  
  23.   setSelectionRange(input, 00);  
  24. }  
  25. //自定义光标插入点位置  
  26. function setCaretToPos (input, pos) {  
  27.   setSelectionRange(input, pos, pos);  
  28. }  
  29. /*光标选中对象中的string 
  30. input 对象 eg:"Visit W3School..."; 
  31. string 是匹配字符串  eg: "w3school" 
  32. */  
  33. function selectString (input, string) {  
  34.     //RegExp(string, "i")  string 不区分大小写  
  35.   var match = new RegExp(string, "i").exec(input.value);//input.value 是否匹配有string  
  36.   if (match) {  
  37.     setSelectionRange (input, match.index, match.index + match[0].length);  
  38.   }  
  39. }  
  40. //替换string  
  41. function replaceSelection (input, replaceString) {  
  42.   if (input.setSelectionRange) {  
  43.     var selectionStart = input.selectionStart;  
  44.     var selectionEnd = input.selectionEnd;  
  45.     input.value = input.value.substring(0, selectionStart)  
  46.                   + replaceString  
  47.                   + input.value.substring(selectionEnd);  
  48.     if (selectionStart != selectionEnd) // has there been a selection  
  49.       setSelectionRange(input, selectionStart, selectionStart +replaceString.length);  
  50.     else // set caret  
  51.       setCaretToPos(input, selectionStart + replaceString.length);  
  52.   }  
  53.   else if (document.selection) {  
  54.     var range = document.selection.createRange();  
  55.     if (range.parentElement() == input) {  
  56.       var isCollapsed = range.text == '';  
  57.       range.text = replaceString;  
  58.       if (!isCollapsed)  { // there has been a selection  
  59.         //it appears range.select() should select the newly  
  60.         //inserted text but that fails with IE  
  61.         range.moveStart('character', -replaceString.length);  
  62.         range.select();  
  63.       }  
  64.     }  
  65.   }  
  66. }  
  67.   
  68.   
  69. /** 
  70. * 文本框光标定位 
  71. **/  
  72. function setCaretPosition(elemId, caretPos) {  
  73.     var elem = document.getElementById(elemId);  
  74.     if(elem != null&&caretPos!=0) {  
  75.         if(elem.createTextRange) {  
  76.             var range = elem.createTextRange();  
  77.             range.move('character', caretPos);  
  78.             range.select();  
  79.         }  
  80.         else {  
  81.             if(elem.selectionStart) {  
  82.                 elem.setSelectionRange(caretPos, caretPos);  
  83.             }  
  84.             elem.focus();  
  85.         }  
  86.         elem.scrollTop = elem.scrollHeight;   
  87.     }  
  88. }  

弹出框div页面居中/遮罩

Java代码   收藏代码
  1. function _getposition(){  
  2.     var p = {};  
  3.     var scrollWidth, scrollHeight;  
  4.     if(window.innerHeight && window.scrollMaxY){  
  5.         scrollWidth = window.innerWidth + window.scrollMaxX;  
  6.         scrollHeight = window.innerHeight + window.scrollMaxY;  
  7.     }else if(document.body.scrollHeight>document.body.offsetHeight){  
  8.         scrollWidth = document.body.scrollWidth;  
  9.         scrollHeight = document.body.scrollHeight;  
  10.     }else{  
  11.         scrollWidth = document.body.offsetWidth;  
  12.         scrollHeight = document.body.offsetHeight;  
  13.     }  
  14.     if(self.innerHeight){  
  15.         if(document.documentElement.clientWidth){  
  16.             p.windowWidth = document.documentElement.clientWidth;  
  17.         }else{  
  18.             p.windowWidth = self.innerWidth;  
  19.         }  
  20.         p.windowHeight = self.innerHeight;  
  21.     }else if(document.documentElement && document.documentElement.clientHeight){  
  22.         p.windowWidth = document.documentElement.clientWidth;  
  23.         p.windowHeight = document.documentElement.clientHeight;  
  24.     }else if(document.body){  
  25.         p.windowWidth = document.body.clientWidth;  
  26.         p.windowHeight = document.body.clientHeight;  
  27.     }  
  28.     if(scrollWidth < p.windowWidth){  
  29.         p.width = scrollWidth;  
  30.     }else{  
  31.         p.width = p.windowWidth;  
  32.     }  
  33.     if(scrollHeight < p.windowHeight){  
  34.         p.height = scrollHeight;  
  35.     }else{  
  36.         p.height = p.windowHeight;  
  37.     }  
  38.     p.windowWidth = Math.max(p.windowWidth, scrollWidth);  
  39.     p.windowHeight = Math.max(p.windowHeight, scrollHeight);  
  40.   
  41.     if(typeof(window.pageXOffset) == "number"){  
  42.         p.left = window.pageXOffset;  
  43.     }else if(document.documentElement && document.documentElement.scrollLeft){  
  44.         p.left = document.documentElement.scrollLeft;  
  45.     }else if(document.body){  
  46.         p.left = document.body.scrollLeft;  
  47.     }else if(window.scrollX){  
  48.         p.left = window.scrollX;  
  49.     }  
  50.   
  51.     if(typeof(window.pageYOffset) == "number"){  
  52.         p.top = window.pageYOffset;  
  53.     }else if(document.documentElement && document.documentElement.scrollTop){  
  54.         p.top = document.documentElement.scrollTop;  
  55.     }else if(document.body){  
  56.         p.top = document.body.scrollTop;  
  57.     }else if(window.scrollY){  
  58.         p.top = window.scrollY;  
  59.     }  
  60.     return p;  
  61. }  
  62. var p = _getposition();  
  63. var left = p.left + ((p.width - $("#ddl_egg_msg_div").width()) / 2);  
  64. var top = p.top + ((p.height - $("#ddl_egg_msg_div").height()) / 2);                          
  65. $("#ddl_egg_msg_div").css({left:left,top:top});  
  66. $("#coverdiv").width(p.width).height(p.windowHeight).show();//整页遮罩  

 div出现在页面的随机位置抽奖程序

Java代码   收藏代码
  1. var sHeight = jQuery(document.body).outerHeight(true) - 100;  
  2. var sWidth = jQuery(document.body).outerWidth(true) - 100;  
  3.   
  4. var div_top  = GetRandomNum(0,sHeight);  
  5. var div_left = GetRandomNum(0,sWidth);  
  6.   
  7. jQuery("#div").css("position","absolute");  
  8. jQuery("#div").css("z-index",100000);  
  9. jQuery("#div").css("top",div_top);  
  10. jQuery("#div").css("left",div_left);  
  11.   
  12. function GetRandomNum(Min,Max)  
  13. {  
  14.     var Range = Max - Min;  
  15.     var Rand = Math.random();  
  16.     return(Min + Math.round(Rand * Range));  
  17. }  

 抽奖金额的概率

Java代码   收藏代码
  1. <?php  
  2. $arr = array(20202020203030303050);  
  3. $k = array_rand($arr);  
  4. $giftValue = $arr[$k];  
  5. //echo $giftValue;  
  6. ?>  

 

相关文章
|
5月前
|
JavaScript
04Vue - Vue.js 入门(用组件构建应用)
04Vue - Vue.js 入门(用组件构建应用)
29 0
|
7月前
|
前端开发 JavaScript 容器
Bootstrap框架(JavaScript组件)下
Bootstrap框架(JavaScript组件)
|
7月前
|
JavaScript 前端开发
前端学习笔记202306学习笔记第五十四天-react.js & material-ui之编辑表单 封装form组件1
前端学习笔记202306学习笔记第五十四天-react.js & material-ui之编辑表单 封装form组件1
28 0
|
3月前
|
JavaScript 前端开发 索引
用JavaScript精巧地实现文本框的粘贴功能:一次成功的尝试
前言:本文实际是用js移动控制光标的位置!解决了网上没有可靠教程的现状 废话连篇 默认情况对一个文本框粘贴,应该会有这样的功能: 粘贴文本后,光标不会回到所有文本的最后位置,而是在粘贴的文本之后 将选中的文字替换成粘贴的文本
38 1
|
5月前
|
JavaScript 前端开发 API
带你读《现代Javascript高级教程》二十二、JS Shadow DOM:创建封装的组件和样式隔离(1)
带你读《现代Javascript高级教程》二十二、JS Shadow DOM:创建封装的组件和样式隔离(1)
|
5月前
|
JavaScript 前端开发 API
带你读《现代Javascript高级教程》二十二、JS Shadow DOM:创建封装的组件和样式隔离(2)
带你读《现代Javascript高级教程》二十二、JS Shadow DOM:创建封装的组件和样式隔离(2)
|
5月前
React-组件-CSS-In-JS重要特性
React-组件-CSS-In-JS重要特性
34 2
|
5月前
|
前端开发 JavaScript 开发者
React-组件-CSS-In-JS
React-组件-CSS-In-JS
32 1
|
7月前
|
JavaScript API
小白笔记——vue全局组件注册和全局js引入
小白笔记——vue全局组件注册和全局js引入
201 0
|
7月前
|
前端开发 JavaScript 开发者
Bootstrap框架(JavaScript组件)上
Bootstrap框架(JavaScript组件)

相关产品

  • 云迁移中心