解析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 相关文章推荐
wap浏览自动跳转到wap页面的js代码
May 17 Javascript
jquery加载图片时以淡入方式显示的方法
Jan 14 Javascript
jQuery原型属性和原型方法详解
Jul 07 Javascript
Bootstrap入门书籍之(一)排版
Feb 17 Javascript
基于Bootstrap实现tab标签切换效果
Apr 15 Javascript
Vue.js快速入门教程
Sep 07 Javascript
AngularJS路由切换实现方法分析
Mar 17 Javascript
无循环 JavaScript(map、reduce、filter和find)
Apr 08 Javascript
JavaScript实现图片无缝滚动效果
Jul 07 Javascript
Angular中的$watch方法详解
Sep 18 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
Aug 31 Javascript
v-slot和slot、slot-scope之间相互替换实例
Sep 04 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
索尼SONY ICF-SW7600GR电路分析与改良
2021/03/02 无线电
PHP 数组入门教程小结
2009/05/20 PHP
php数组操作之键名比较与差集、交集赋值的方法
2014/11/10 PHP
php抽象方法和抽象类实例分析
2016/12/07 PHP
利用javascript移动div层-javascript 拖动层
2009/03/22 Javascript
JavaScript实现页面实时显示当前时间的简单实例
2013/07/20 Javascript
javascript 控制input只允许输入的各种指定内容
2014/06/19 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
2016/07/14 Javascript
js设置文字颜色的方法示例
2016/12/30 Javascript
12个非常有用的JavaScript技巧
2017/05/17 Javascript
手把手教你用Node.js爬虫爬取网站数据的方法
2018/07/05 Javascript
详解Angular中通过$location获取地址栏的参数
2018/08/02 Javascript
关于微信小程序登录的那些事
2019/01/08 Javascript
微信小程序实现页面浮动导航
2020/01/08 Javascript
[03:01]完美盛典趣味短片 DOTA2年度最佳&拉胯英雄
2019/12/07 DOTA
python中 ? : 三元表达式的使用介绍
2013/10/09 Python
Python运用于数据分析的简单教程
2015/03/27 Python
python脚本设置系统时间的两种方法
2016/02/21 Python
python实现xlsx文件分析详解
2018/01/02 Python
python 使用 requests 模块发送http请求 的方法
2018/12/09 Python
基于python 微信小程序之获取已存在模板消息列表
2019/08/05 Python
python字典的setdefault的巧妙用法
2019/08/07 Python
Python socket非阻塞模块应用示例
2019/09/12 Python
在Python中使用turtle绘制多个同心圆示例
2019/11/23 Python
Java爬虫技术框架之Heritrix框架详解
2020/07/22 Python
Python基于Serializer实现字段验证及序列化
2020/11/04 Python
html5 Canvas画图教程(5)—canvas里画曲线之arc方法
2013/01/09 HTML / CSS
澳大利亚有机化妆品网上商店:The Well Store
2020/02/20 全球购物
公司道歉信范文
2014/01/09 职场文书
2014年库房工作总结
2014/11/26 职场文书
2015年银行客户经理工作总结
2015/04/01 职场文书
医药公司开票员岗位职责
2015/04/15 职场文书
英语导游欢迎词
2015/09/30 职场文书
写给医护人员的一封感谢信
2019/09/16 职场文书
TypeScript实用技巧 Nominal Typing名义类型详解
2022/09/23 Javascript