解析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 相关文章推荐
javascript 有趣而诡异的数组
Apr 06 Javascript
倒记时60刷新网页的js代码
Feb 18 Javascript
js防止页面被iframe调用的方法
Oct 30 Javascript
JavaScript获取DOM元素的11种方法总结
Apr 25 Javascript
EasyUI中的dataGrid的行内编辑
Jun 22 Javascript
基于vue的短信验证码倒计时demo
Sep 13 Javascript
vue 项目常用加载器及配置详解
Jan 22 Javascript
小程序指纹验证的实现代码
Dec 04 Javascript
Vue页面切换和a链接的本质区别详解
Nov 12 Javascript
Echarts在Taro微信小程序开发中的踩坑记录
Nov 09 Javascript
webpack的移动端适配方案小结
Jul 25 Javascript
微信小程序 WeUI扩展组件库的入门教程
Apr 21 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中的超全局变量
2006/10/09 PHP
深入PHP变量存储的详解
2013/06/13 PHP
PHP概率计算函数汇总
2015/09/13 PHP
PHP的几个常用加密函数
2016/02/03 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
2017/02/28 PHP
javascript下string.format函数补充
2010/08/24 Javascript
基于jquery的仿百度搜索框效果代码
2011/04/11 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
js实现input框文字动态变换显示效果
2015/08/19 Javascript
javascript实现的左右无缝滚动效果
2016/09/19 Javascript
JavaScript中Array对象用法实例总结
2016/11/29 Javascript
canvas的神奇用法
2017/02/03 Javascript
微信小程序中顶部导航栏的实现代码
2017/03/30 Javascript
JavaScript中一些特殊的字符运算
2017/08/17 Javascript
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
2017/11/27 Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
2018/03/20 Javascript
vue实现word,pdf文件的导出功能
2018/07/31 Javascript
JavaScript中将值转换为字符串的五种方法总结
2019/06/06 Javascript
小程序input数据双向绑定实现方法
2019/10/17 Javascript
用Golang运行JavaScript的实现示例
2019/11/25 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
Python3用tkinter和PIL实现看图工具
2018/06/21 Python
利用Python检测URL状态
2019/07/31 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
2019/08/07 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
Python常用模块os.path之文件及路径操作方法
2019/12/03 Python
html5 css3网站菜单实现代码
2013/12/23 HTML / CSS
德国知名健康零食网上商店:Seeberger
2017/07/27 全球购物
求职信范文英文版
2014/01/05 职场文书
英语专业学生个人求职信范文
2014/01/06 职场文书
审计主管岗位职责
2014/01/31 职场文书
《寓言两则》教学反思
2014/02/27 职场文书
新闻编辑求职信
2014/07/13 职场文书
2015年安康杯竞赛活动总结
2015/03/26 职场文书
pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作
2021/05/22 Python
pycharm安装深度学习pytorch的d2l包失败问题解决
2022/03/25 Python