当前位置: 代码迷 >> JavaScript >> 惯用的JavaScript自定义函数大全
  详细解决方案

惯用的JavaScript自定义函数大全

热度:304   发布时间:2012-11-05 09:35:12.0
常用的JavaScript自定义函数大全
// JavaScript Document
常用的JavaScript自定义函数大全

/**********************对标签或表单元素的操作(开始)**********************/
function getRadioValue(className) { //获取单选框被选中的值
    var objArr = document.getElementsByClassNames(className);
    for(var i = 0; i < objArr.length; i++) {
        if(objArr[i].checked) {
            return objArr[i].value;
            break;    
        }
    }
    return;
}


//var obj=document.getElementsByClassNames("qq");
//var obj=document.getElementsByClassNames("qq","DIV");
//var obj=document.getElementsByClassNames("qq","DIV",myid);
document.getElementsByClassNames = function(){ //获取相同className的对象数组
    var tTagName ="*";
    if(arguments.length > 1){
       tTagName = arguments[1];
    }
    if(arguments.length > 2){
       var pObj = arguments[2]
    }else{
       var pObj = document;
    }
    var objArr = pObj.getElementsByTagName(tTagName);
    var tRObj = new Array();
    for(var i=0; i<objArr.length; i++) {
       if(objArr[i].className == arguments[0]){
        tRObj.push(objArr[i]);
       }
    }
    return tRObj;
}
/**********************对标签或表单元素的操作(结束)**********************/

/**********************JavaScript 获取当前时间戳(开始)**********************/
//第一种方法:

var timestamp = Date.parse(new Date());

//结果:1280977330000
//第二种方法:

var timestamp = (new Date()).valueOf();

//结果:1280977330748

//第三种方法:

var timestamp=new Date().getTime();

//结果:1280977330748

//第一种:获取的时间戳是把毫秒改成000显示,

//第二种和第三种是获取了当前毫秒的时间戳。

function now() { //获取当前的时间戳与php的time()对应
   var timestamp = (new Date()).valueOf().toString().substr(0,10);
   return parseInt(timestamp);
}

/**********************JavaScript 获取当前时间戳(结束)**********************/

/**********************在文本框中插入文本(js)(开始)**********************/
function test(obj){ //取得文本框中鼠标的位置
    obj.focus(); 
    var  workRange=document.selection.createRange(); 
    var  allRange=obj.createTextRange(); 
    workRange.setEndPoint("StartToStart",allRange); 
    len=workRange.text.length;
    alert(len);
}

function test(obj){ //取得文本区中选中的字符
    obj.focus();
    var sel=document.selection.createRange();
    alert(sel.text);
}

textarea.scrollTop //取得文本区滚动条的位置

function insertAtCursor(myField, myValue) { //在文本区光标所在位置插入字符
    //IE support
    if (document.selection) {
        myField.focus();
        sel = document.selection.createRange();
        sel.text = myValue;
    }
    //MOZILLA/NETSCAPE support
    else if (myField.selectionStart || myField.selectionStart == '0') {
        var startPos = myField.selectionStart;
        var endPos = myField.selectionEnd;
        myField.value = myField.value.substring(0, startPos) +  myValue + myField.value.substring(endPos, myField.value.length);
    }
    else {
        myField.value += myValue;
    }
}
/**********************在文本框中插入文本(js)(结束)**********************/

/**********************JS保留小数点,四舍五入(开始)**********************/
function returnFloat0(value) {  //将小数点清零
    value = Math.round(parseFloat(value));
    return value;
}

function returnFloat1(value) { //保留一位小数点
    value = Math.round(parseFloat(value) * 10) / 10;
    if (value.toString().indexOf(".") < 0)
        value = value.toString() + ".0";
    return value;
}

function returnFloat(value){  //保留两位小数点
    value = Math.round(parseFloat(value) * 100) / 100;
    if (value.toString().indexOf(".") < 0) {
        value = value.toString() + ".00";
    }
    return value;
}

function returnFloat2(value) { //保留两位小数点,一位小数自动补零
    value = Math.round(parseFloat(value) * 100) / 100;
    var xsd = value.toString().split(".");
    //Ext.log(xsd.length);
    if(xsd.length==1){
        value = value.toString()+".00";
        return value;
    }
    if(xsd.length>1){
        if(xsd[1].length<2){
            value = value.toString()+"0"; 
        }
        return value;
    }
}

function returnFloat(value,number){ //保留N位小数点
    var divisor = '1';
    for(i = 1; i <= number; i++){
        divisor += '0';
    }
    divisor = parseInt(divisor);
    value = Math.round(parseFloat(value)*divisor)/divisor;
    if(value.toString().indexOf(".") < 0 && number > 0){      
        value = value.toString() + '.';
        for(i = 1; i <= number; i++){
            value += '0';
        }
    }
    return value;
}
/**********************JS保留小数点,四舍五入(结束)**********************/

/**********************JS或HTML防复制等功能(开始)**********************/
document.onselectstart =function() {return   false;}           // 防选择     
document.oncopy        =function() {return   false;}          // 防复制 
document.oncut         =function() {return   false;}          // 防剪贴 
document.onbeforecopy  =function() {return   false;}  
document.ondragstart   =function() {return   false;}          //防拖动 
document.oncontextmenu =function() {return   false;}          //防右键 
document.onmouseup     =function() {document.selection.empty();}   
document.onselect      =function() {document.selection.empty();} 
document.oncopy        =function() {document.selection.empty();}   
document.onmousedown   =function() {if (event.button!==1){alert('禁止操作');}} 
document.onkeydown     =function() {alert("禁止操作");event.keyCode=0;event.returnValue=false;}  
  
 //防键盘操作   
  
    
 // 屏蔽PrintScreen   
  
function   testclip(){   
try   {   
if(clipboardData.getData("Text")||clipboardData.getData("HTML")||clipboardData.getData("URL"))   //检测系统内存   
{   
null;          //不为图像则保留内存   
}   
}   
catch(e){   
clipboardData.setData("Text","")//清空内存   
}   
setTimeout("testclip()",500)   
}   
 
//页面加载启动区 
  
testclip();//不停清空剪贴板   
 
<body>
<noscript> <iframe src=*.html> </iframe> </noscript>  <!-- 防保存 --> 

<style type="text/css" media="print" id="noprt" >   
BODY{display:none}         /* 防打印 */  
</style> 
</body>
/**********************JS或HTML防复制等功能(结束)**********************/

?

  相关解决方案