whsmwy

不断更新

功能划分:

1.字符串操作:

    1.1 复制到剪贴板

    1.2 字符串省略

    1.3 

2.url操作

    2.1 收藏本站

    2.2 取得项目名称

    2.3 取得地址栏url

    2.4 取得地址栏传递

3.form操作

4. Ajax操作

5.日期操作

6.过滤字符

7.json操作

8.file操作

9.


/*
功能:
    ie8下trim无效的问题
示例:
    $.trim(stringxx);
    stirngxx.trim();
 */
String.prototype.trim = function () {
     return this.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); 
 }

function namespace() {     
        var a = arguments,//arguments:function内置的对象,存储函数的所有参数,是个数组。
            o = null,
            i, j, d, rt;
        for (i = 0; i < a.length; ++i) {
            d = a[i].split(".");
            rt = d[0];
            eval('if(typeof ' + rt + '=="undefined"){' + rt + '={};}o=' + rt + ';'); //eval:把这一串字符串当js来运行
            for (j = 1; j < d.length; ++j) {
                o[d[j]] = o[d[j]] || {};
                o = o[d[j]];
            }
        }
    }
/*
    @auther: liuxiaojuan
    @date: 2015-7-30
    @rely: 
    dairy_common.css
    
*/
namespace("com.whsmwy");
com.whsmwy = function() {};
com.whsmwy.prototype = {
    /*
    功能:
        popAny:弹出黑色半透明圆角背景白色文字的fixed的窗口,。objContent:弹出窗口中显示的内容,style:要显示的类别。
        窗口5秒内自动消失。适合执行操作后给出的提示场合。
        popAny和popFadeout需成对出现
    */
    popAny: function(objContent, style) {
        if (fadeOut != null) {
            clearTimeout(fadeOut);
            $('.popAnyWhere').find('p').text(objContent);
        } else {
            $("body").append("<div class='popAnyWhere'></div>");
            var boxContent = "<p>" + objContent + "</p>";
            $(".popAnyWhere").removeClass("smile").removeClass("cry").addClass(style);
            $(".popAnyWhere").append(boxContent);
            var boxWidth = $(".popAnyWhere").width();
            var leftx = (document.body.clientWidth - boxWidth) / 2 + "px";
            var bottomx = "20px";
            $(".popAnyWhere").attr("style", "display:block; left:" + leftx + ";bottom:" + bottomx);
        }

        fadeOut = setTimeout(this.popFadeout, 5000);
    },
    popFadeout: function() {
        $('.popAnyWhere').fadeOut();
        $('.popAnyWhere').remove();
        fadeOut = null;
    },
    /*
    功能:
        loading:弹出黑色半透明圆角背景白色文字的fixed的窗口,。objContent:弹出窗口中显示的内容。
        ajaxq请求结束后自动消失,如果没有请求成功则一直等待。适合ajax请求等待的场合。
        loading和loadingFadeout需成对出现。还需要配合css文件(dairy_common.css)。
    */
    loading: function(objContent) {
        if (fadeOut != null) {
            clearTimeout(fadeOut);
            $('.popAnyWhere').find('p').text(objContent);
        } else {
            $("body").append("<div class='popAnyWhere'></div>");
            var boxContent = "<p>" + objContent + "</p>";
            $(".popAnyWhere").addClass("loadingImg");
            $(".popAnyWhere").append(boxContent);
            var boxWidth = $(".popAnyWhere").width();
            var leftx = (document.body.clientWidth - boxWidth) / 2 + "px";
            var bottomx = "20px";
            $(".popAnyWhere").attr("style", "display:block; left:" + leftx + ";bottom:" + bottomx);
        }
        //fadeOut = setTimeout(loadingFadeout, 1500);
    },
    loadingFadeout: function(id) {
        $('.popAnyWhere').fadeOut();
        $('.popAnyWhere').remove();
        fadeOut = null;
        //$("#" + id).removeAttr("disabled");
    },
    /*
    功能:
        ajax请求包装。
        ajaxJsonCall需要和ajaxToggle配合使用才能出现ajax等待的时候弹出加载窗口。
    @rely:
        app_path参数的获取。需要jsp页面顶部添加<%String appPath = request.getContextPath();%>
    参数:
        url:要包装的地址;
        data:要传递的数据;
        callback:执行成功要执行的函数;
        global:是否触发全局 AJAX 事件。默认值: true。
        sync:默认值: true。默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。  注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
        error:请求失败时调用此函数。参数:XMLHttpRequest 对象、错误信息、(可选)捕获的异常对象。
    */
    ajaxJsonCall: function(url, data, callback, global, sync,errcallback) {
        $.ajax(app_path + '/' + url, {
            data: data,
            success: callback,
            dataType: "json",
            type: "post",
            global: global ? true : false,
            async: sync ? false : true,
            error:errcallback
        });
        //$.post(app_path + '/' + url, data, callback, 'json', global ? true : false);
    },
    /*
    功能:
        需要默认加载ajaxToggle。
        $(document)上绑定ajaxStart和ajaxStop两个方法,也可设置具体额某个元素绑定两个ajax全局方法,把正在加加载的动画放在这个元素html中。
    */
    ajaxToggle: function() {
        $(document).ajaxStart(function() {
            whsmwy.loading("努力加载中...");
        }).ajaxStop(function() {
            whsmwy.loadingFadeout();
        });
    },
    /*
    功能:检查某个cookie是否存在。
    */
    getCookie: function(cookie_name) {
        var allcookies = document.cookie;
        var cookie_pos = allcookies.indexOf(cookie_name); //索引的长度
        // 如果找到了索引,就代表cookie存在,
        var value;
        if (cookie_pos != -1) {
            return 1; //已经登陆
        } else {
            return 2; //未登录
        }
    },
    /*
    功能:文本输入框获得焦点清空默认值。
    */
    setInputTextValue: function() {
        if ($(":text").length) {
            $(":text").focus(function() {
                if ($(this).val() == this.defaultValue) {
                    $(this).val("");
                }
            }).blur(function() {
                $(this).removeClass("focus");
                if ($(this).val() == '') {
                    $(this).val(this.defaultValue);
                }
            });
        }
    },
    /*
    功能:鼠标感应显示隐藏效果。
    */
    QRCode: function(obj1, obj2) {
        var _e;
        $(obj1).mouseenter(function() {
            $(obj2).fadeIn();
        });
        $(obj1).mouseleave(function() {
            _e = setTimeout(function() {
                $(obj2).fadeOut()
            }, 400);
        });
        $(obj2).mouseenter(function() {
            clearTimeout(_e);
        });
        $(obj2).mouseleave(function() {
            $(this).fadeOut();
        });
    },
    /*
    功能:剪切字符串
    */
    cutStr: function(str, cutnum) {
        var temp1 = str.replace(/[^\x00-\xff]/g, "**"); //精髓
        var temp2 = temp1.substring(0, cutnum);
        //找出有多少个*
        var x_length = temp2.split("\*").length - 1;
        var hanzi_num = x_length / 2;
        cutnum = cutnum - hanzi_num; //实际需要sub的长度是总长度-汉字长度
        var res = str.substring(0, cutnum);
        if (cutnum < str.length) {
            var end = res + "……";
        } else {
            var end = res;
        }
        return end;
    },
    /*
    功能:格式化日期
    */
    formatDate: function(date, format) {
        if (!date) return;
        if (!format) format = "yyyy-MM-dd";
        switch (typeof date) {
            case "string":
                date = new Date(date.replace(/-/g, "/"));
                break;
            case "number":
                date = new Date(date);
                break;
        }
        if (!date instanceof Date) return;
        var dict = {
            "yyyy": date.getFullYear(),
            "M": date.getMonth() + 1,
            "d": date.getDate(),
            "H": date.getHours(),
            "m": date.getMinutes(),
            "s": date.getSeconds(),
            "MM": ("" + (date.getMonth() + 101)).substr(1),
            "dd": ("" + (date.getDate() + 100)).substr(1),
            "HH": ("" + (date.getHours() + 100)).substr(1),
            "mm": ("" + (date.getMinutes() + 100)).substr(1),
            "ss": ("" + (date.getSeconds() + 100)).substr(1)
        };
        return format.replace(/(yyyy|MM?|dd?|HH?|ss?|mm?)/g, function() {
            return dict[arguments[0]];
        });
    },
    /*
    功能:阻止输入框回车提交表单,jqobj为回车的文本输入框的id对象
    */
    stopKeydown: function(jqobj) {
        jqobj.on("keydown", function(e) {
            e = e || event;
            var lKeyCode = (navigator.appname == "Netscape") ? e.which : e.keyCode;
            if (lKeyCode == 13) {
                return false;
            }
        });
    },
    /*
    功能:防止SQL注入
    */
    AntiSqlValid: function(jqobj) {

        var s = $(jqobj).val();
        //格式 RegExp("[在中间定义特殊过滤字符]")
        var pattern = new RegExp("[%--`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]")
        var rs = "";
        for (var i = 0; i < s.length; i++) {
            rs = rs + s.substr(i, 1).replace(pattern, '');
        }
        $(jqobj).val(rs);
    },
   /* 
   收藏本站代码
   οnclick="favorite(window.location,document.title)"
   */
    favorite: function() {
        var aUrls = document.URL.split("/");
        var vDomainName = "http://" + aUrls[2] + "/";
        var description = document.title;

        var browserName=navigator.userAgent.toLowerCase();
        if(!!window.ActiveXObject || "ActiveXObject" in window){
            //alert("IE");
           window.external.AddFavorite(vDomainName, description);
            return ;
        }else if(/firefox/i.test(browserName)){
            //alert("Firefox");
            //window.sidebar.addPanel(description,vDomainName, "");
            var e = document.getElementById('fav');
               e.setAttribute('href', vDomainName);
               e.setAttribute('title', description);
               e.setAttribute('rel', 'sidebar');
            return;
        }else if(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName)){
            //alert("Chrome");
            alert("抱歉,您所使用的浏览器无法完成此操作。\n\n请使用Ctrl+D进行添加");
            return ;
        }else if(/opera/i.test(browserName)){
            //alert("Opera");
            var e = document.getElementById('fav');
               e.setAttribute('href', vDomainName);
               e.setAttribute('title', description);
               e.setAttribute('rel', 'sidebar');
            return ;
        }else if(/webkit/i.test(browserName) &&!(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName))){
            //alert("Safari");
            alert("抱歉,您所使用的浏览器无法完成此操作。\n\n请使用Ctrl+D进行添加");
            return ;
        }else{
            //alert("unKnow");
            alert("抱歉,您所使用的浏览器无法完成此操作。\n\n请使用Ctrl+D进行添加");
        }
    },
    /*
    说明:
        退出登录三步需要在jsp页面包含以下代码:
        <cc:jspRequestTag url="/Bs1/inc_loginoutdialog.jsp" /> =》退出登录的dom结构
        <form name="logoutform" id="logoutform" action="">
        <input name="service" id="service" type="hidden"/>
        </form>
    功能:退出登录(第1步)
        点击导航的退出文字后调用确认退出登录窗口。
    */
    logouts:function (){
            if(!whsmwy.confirm_logout("退出提醒","确定退出登录吗?")) {
              return;  
            }
    },
    /*
    功能:退出登录(第1步)
        设置退出登录窗口的样式
    */
    confirm_logout:function(title,text) {  
        
        $('#commonPopDialog3').css('width', '300px');
        $('#commonPopDialog3').modal('show');
        $('#commonPopDialog3 .modal-header h3').text(title);
        $('#commonPopDialog3 .modal-body').empty();
        $('#commonPopDialog3 .modal-body').append(text).css({"text-align": 'left',"padding": '20px'});
        var cancelBtn='<button class="btn btn_close" data-dismiss="modal" aria-hidden="true">取消</button>';
        if( $("#commonPopDialog3 .btn_close").length < 1 ){
            $('#commonPopDialog3 .modal-footer').append(cancelBtn);
        }
     },
    /*
    功能:退出登录(第3步)
        点击弹出的退出登录窗口的确定按钮后调用的函数,设置service退出后返回的地址,设置表单提交的action。
    */
    logout_confirm:function (){
        var jsessionid=head.getCookie("JSESSIONID");
        head.delCookie("CSPLOGIN");
        /*
        退出登录的form:logoutform  内有id=service的inputdom
        注册窗口的form:gologinfrom 内有id=service的inputdom
        登录窗口的form:loginform   内有id=service的inputdom
        */
        $("#logoutform #service").val("http://www.whsmwy.com/wh_dairyInquiry/public/dairyInquiry/service/DairyInquiry_queryIndex.jsp");//退出后返回的地址
        $("#logoutform").attr('action', 'https://scity.cn/sso/logout;jsessionid='+jsessionid);
        $("#logoutform").submit();
    },
    /*
    功能:取得json的子元素格式
        点击弹出的退出登录窗口的确定按钮后调用的函数,设置service退出后返回的地址,设置表单提交的action。
    */
     JSONLength:function(obj) {
        var size = 0, key;
        for (key in obj) {
            if (obj.hasOwnProperty(key)) size++;
        }
        return size;
    },
    /*边栏工具条:到达顶部(开始)*/
    go: function(speed, time) { //直接到达顶部
        if ($(window).scrollTop() != 0) { //没有到达顶部
            var $opt = $("html,body");
            if (!$opt.is(":animated")) { //不在运动
                if (speed == "slow") {
                    $opt.animate({
                        scrollTop: 0
                    }, time);
                } else {
                    $opt.scrollTop(0);
                }
            }
        }

    },
    checkPositon: function(pos) {
        if ($(window).scrollTop() > pos) {
            $("#backtop").fadeIn();
        } else {
            $("#backtop").fadeOut();
        }
    },
    /*边栏工具条:到达顶部(结束)*/
    /*
    功能:判断服务器上的文件是否存在
    */
    checkFileExist:function(fileurl){
        var xmlhttp;
        //判断浏览器是否支持ActiveX控件
        if(window.ActiveXObject){
            //支持-通过ActiveXObject的一个新实例来创建XMLHttpRequest对象
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        else if(window.XMLHttpRequest){
            //不支持
            xmlhttp = new XMLHttpRequest()
        }
        //var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        xmlhttp.open("GET",fileurl,false);
        xmlhttp.send();
        if(xmlhttp.readyState==4){ 
            if(xmlhttp.status==200){
                return true;
            }
            else if(xmlhttp.status==404){
                return false; //url不存在 
            }
            else{
                return false; //其他状态 
            }
        } 
    },
    /*边栏工具条:到达顶部(结束)*/
    getQueryString:function(name)//根据参数名取得地址栏的参数值
    {
         var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
         var r = window.location.search.substr(1).match(reg);
         if(r!=null)return  unescape(r[2]); return null;
    }
    ///

}
var fadeOut = null; //popAny弹出框状态
var whsmwy = new com.whsmwy();
whsmwy.ajaxToggle();
$(function(){
    if($('#addFavorite').length){
        $('#addFavorite').addFavorite(document.title,window.location);
    }
    //边栏工具条:到达顶部
    if ($("#backtop").length) {
        var windowHeight = $(window).height();
        whsmwy.checkPositon(windowHeight); //初始的时候隐返回顶部按钮
        $("#backtop").on("click", function() {
            whsmwy.go("slow", 1000);
        });
        $(window).on("scroll", function() { //超过一屏显示到达顶部按钮
            whsmwy.checkPositon(windowHeight);
        });
    }
    //
});
//ie8下trim无效的问题
String.prototype.trim = function () {
     return this.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); 
 } 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值