解析javascript 实用函数的使用详解


Posted in Javascript onMay 10, 2013
function addBookMark(url, title){
//将网页添加到收藏addBookMark(window.location,document.title) 
    if(document.all){
      window.external.addFavorite(url,title);
    }else if (window.sidebar){
      window.sidebar.addPanel(title,url,'');
    }else{
      alert('添加失败');
    }
}   

function setHomepage(obj,url) {
// setHome(this, window.location) 
    try {   
        obj.style.behavior = 'url(#default#homepage)';   
        obj.setHomePage(url);   
    } catch (e) {   
        if (window.netscape) {   
            try {   
                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");   
            } catch (e) {   
                alert('此操作被浏览器拒绝!\n请在浏览器地址栏输入"about:config"并回车\n然后将 [signed.applets.codebase_principal_support]的值设置为"true",双击即可。');   
            }   
            var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);   
            prefs.setCharPref('browser.startup.homepage', vrl);   
        }   
    }   
}   
function boxMove(box){
//可移动的层
    var w = box.scrollWidth,h = box.scrollHeight;
    var iWidth = document.documentElement.clientWidth; 
    var iHeight = document.documentElement.clientHeight;     
    var moveX = 0,moveY = 0,moveTop = 0,moveLeft = 0,moveable = false;
    box.onmousedown = function(e){    
    moveable = true;     
    e = window.event?window.event:e;
    moveX = e.clientX-box.offsetLeft;        
    moveY = e.clientY-box.offsetTop;
    box.style.zIndex++;
    }
    document.onmousemove = function(e){
        if(moveable){
            e = window.event?window.event:e;        
            var x = e.clientX - moveX;
            var y = e.clientY - moveY;
            if ( x > 0 &&( x + w < iWidth) && y > 0 && (y + h < iHeight)){
                box.style.left = x + "px";
                box.style.top = y + "px";
                box.style.margin = "auto";
            }
        }
    }
    document.onmouseup = function (){moveable = false;};
}
function getHtmlRoot(){
/*获得html文档的根元素*/
    if(document.compatMode.toLowerCase()=="css1compat"){
        htmlRoot = document.documentElement;
    }else{
        htmlRoot = document.body;
    }
    return htmlRoot;
}

function showWindow(boxId, closeId, showBg){//弹窗
    htmlRoot = getHtmlRoot();
    box = document.getElementById(boxId);
    boxId = '#' + boxId;
    closeId = '#' + closeId;
    showBox = $(boxId);
    showBox.show();
    z_index = 20;
    moveLeft =  (htmlRoot.clientWidth- box.clientWidth)/2 + htmlRoot.scrollLeft +'px';
    moveTop = (htmlRoot.clientHeight - box.clientHeight)/2 + htmlRoot.scrollTop;+'px';
    showBox.css({position:'absolute', left:moveLeft,zIndex:z_index, top:moveTop});
    boxMove(box);
    if(showBg){
        objMask = document.createElement("div");
        objMask.className = "BoxMask";
        htmlRoot.appendChild(objMask);
        objMask.style.cssText += 'position:absolute;top:0; left:0;filter:Alpha(Opacity=50);opacity:0.5;background:#AAA;';
        objMask.style.zIndex = z_index -1;
        objMask.style.width =  htmlRoot.clientWidth + 'px';
        objMask.style.height = htmlRoot.scrollHeight + htmlRoot.scrollTop + 'px';
    }
    $(closeId).click(function(){
        showBox.hide();
        mybg.style.display = "none";
    });
    $('.closeBtn').click = function(){
        showBox.hide();
        mybg.style.display = "none";    
    };
}
function getFormQuery(formId){
/*生成查询字串*/
    formObj = document.getElementById(formId);
       var i, queryString = "", and = "", itemValue;
       for(i = 0; i<formObj.length; i++ ){
             var item = formObj[i];
              if ( item.name!='' ){
                     if(item.type == 'select-one'){
                         itemValue = item.options[item.selectedIndex].value;
                     }else if ( item.type=='checkbox' || item.type=='radio'){
                         if ( item.checked == false ){ continue; }
                         itemValue = item.value;
                     }else if ( item.type == 'button' || item.type == 'submit' || item.type == 'reset' || item.type == 'image'){
                         continue;
                     }else{
                          itemValue = item.value;
                     }
                   //  itemValue = escape(itemValue);
                     queryString += and + item.name + '=' + itemValue;
                     and="&";
                   //queryString += and + encodeURIComponent(item.name) + '=' +encodeURIComponent( itemValue); 
              }
       }
       return queryString;
}
//定义js错误处理函数
onerror = errHandle;
function errHandle(msg,url,line){
    var txt=""
    txt = "本页中有错误!\n\n"
    txt += "错误: "+ msg +"\n"
    txt += "地址: " + url + "\n"
    txt += "行数: " + line + "\n\n"
    alert(txt);
    return false;
}

function setAutoWidth(id,width,size){
//最小或最大宽度
    var obj = document.getElementById(id);
    if(size=='max'){
        obj.style.width = (obj.clientWidth > width) ? width + "px" : "auto";
    }else{
        obj.style.width = (obj.clientWidth < width) ? width + "px" : "auto";
    }
}
function fontScroll(id){
/*向左滚动的文字 */
    var obj = document.getElementById(id);
    var text = obj.innerHTML;
    var first = text.charAt(0);
    var left = text.substring(1, text.length);
    obj.inerHTML = left + first;
    //这个写函数之外 setInterval('fontScroll(id)', 500);
}
function bubbleSort(arr){
/*冒泡排序法*/
var sign = false // 初始化换位标记为假
for(var i=0; i < arr.length-1; i++){
    for(varj=0; j < arr.length-1-i; j++){
        if(arr[j]> arr[j+1]){
            vartemp = arr[j]
            arr[j]= arr[j+1]
            arr[j+1]= temp
            sign= true // 若当前这一圈比较中,有过换位,则置换位标记为真
        }
    }
    if(sign)// 判断当前这一圈有过换位否…
       sign= false // 有过换位,则重置换位标记为假
    else
       break// 没有,则终止
    }
return arr;
}
function getCoordinate(evt){
/*获得光标的坐标*/
    var x = evt.clientX;
    var y = evt.clientY;
    document.getElementById('show').innerHTML = x +' &' + y;
}
 
function checkEmail(email){
/*检测多个以分号(;)分隔的Email格式*/
if(email != null){
    if(email.indexOf(";",0) == -1){ //indexOf(被查找,起始位)返某个字符串在源字符串中首次出现的位置,失败返回-1
        if(!isEmail(email)){
            alert("单个邮件格式有误,请重输!");
            document.getElementById("email").focus();
            return false;
        }
    }else{
        var emailArr = email.split(";");//split(分隔段,数组总长度)字符串分割成字符串数组
        var i, iMax = emailArr.length;
        for(i = 0; i < iMax; i++){
            if(emailArr[i] != null || emailArr != ""){
                if(!isEmail(emailArr[i])){
                    alert("多个邮箱格式中有邮箱格式不正确,请重新核对后再输入!");    
                    document.getElementById("email").focus();
                    return false;
                }
            }
        }
    }    
}
function isEmail(str){
   var reg = /^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$/;
   return reg.test(str);//test(被测字串)检测一个字符串是否匹配某个模式.
}
}
Javascript 相关文章推荐
jquery蒙版控件实现代码
Dec 08 Javascript
js Html结构转字符串形式显示代码
Nov 15 Javascript
JS实现随机化快速排序的实例代码
Aug 01 Javascript
JavaScript之IE的fireEvent方法详细解析
Nov 20 Javascript
jQuery控制网页打印指定区域的方法
Apr 07 Javascript
JS实现的简洁二级导航菜单雏形效果
Oct 13 Javascript
Node.js中JavaScript操作MySQL的常用方法整理
Mar 01 Javascript
JS实现点击事件统计的简单实例
Jul 10 Javascript
微信小程序封装自定义弹窗的实现代码
May 08 Javascript
小程序多图列表实现性能优化的方法步骤
May 28 Javascript
vue中添加与删除关键字搜索功能
Oct 12 Javascript
微信小程序激励式视频广告组件使用详解
Dec 06 Javascript
jQuery拖动图片删除示例
May 10 #Javascript
jquery 提交值不为空的元素示例代码
May 10 #Javascript
JQuery中SetTimeOut传参问题探讨
May 10 #Javascript
jQuery中读取json文件示例代码
May 10 #Javascript
Javascript级联下拉菜单以及AJAX数据验证核心代码
May 10 #Javascript
javascript级联下拉列表实例代码(自写)
May 10 #Javascript
jquery ui对话框实例代码
May 10 #Javascript
You might like
php 定界符格式引起的错误
2011/05/24 PHP
比较时间段一与时间段二是否有交集的php函数
2011/05/31 PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
2011/06/06 PHP
PHP高自定义性安全验证码代码
2011/11/27 PHP
PHP处理excel cvs表格的方法实例介绍
2013/05/13 PHP
php递归json类实例
2014/12/02 PHP
纯PHP代码实现支付宝批量付款
2015/12/24 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
2016/07/25 PHP
yii的入口文件index.php中为什么会有这两句
2016/08/04 PHP
Javascript 同时提交多个Web表单的方法
2009/02/19 Javascript
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
2010/10/15 Javascript
jQuery中bind与live的用法及区别小结
2014/01/27 Javascript
深入理解angularjs过滤器
2016/05/25 Javascript
Angular中$state.go页面跳转并传递参数的方法
2017/05/09 Javascript
Angular6 Filter实现页面搜索的示例代码
2018/12/02 Javascript
JavaScript ES6箭头函数使用指南
2018/12/30 Javascript
Layui多选只有最后一个值的解决方法
2019/09/02 Javascript
Vue实现商品详情页的评价列表功能
2019/09/04 Javascript
HTML+JavaScript实现扫雷小游戏
2019/09/30 Javascript
[01:28]一分钟告诉你DOTA2 TI9不朽宝藏Ⅱ中有什么!
2019/07/09 DOTA
Python中使用ElementTree解析XML示例
2015/06/02 Python
Python找出文件中使用率最高的汉字实例详解
2015/06/03 Python
Python基于回溯法子集树模板解决马踏棋盘问题示例
2017/09/11 Python
深入理解python中函数传递参数是值传递还是引用传递
2017/11/07 Python
Python简单获取二维数组行列数的方法示例
2018/12/21 Python
Python openpyxl模块实现excel读写操作
2020/06/30 Python
Python装饰器结合递归原理解析
2020/07/02 Python
Python判断变量是否是None写法代码实例
2020/10/09 Python
若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedException?
2016/10/17 面试题
教育专业个人求职信
2013/12/02 职场文书
宠物店的创业计划书范文
2014/01/11 职场文书
机械专业技术员求职信
2014/06/14 职场文书
党员“四风”问题批评与自我批评思想汇报
2014/10/06 职场文书
致短跑运动员加油稿
2015/07/21 职场文书
如何书写公司员工保密协议?
2019/06/27 职场文书