zoukankan      html  css  js  c++  java
  • JS 框架设计点滴

    /**
    * =====================================================================================
    * =====================================================================================
    */
    /** 
    * @版本  v1.1
    * @作者  林松斌
    * @时间  2009-01-12
    */
    /**
    * =====================================================================================
    * 功能函数
    * =====================================================================================
    */
    
    //字符串连接
    function StringBuffer() {
        this._string = new Array;
    }
    
    StringBuffer.prototype.append = function(str) {
        return this._string.push(str);
    }
    
    StringBuffer.prototype.toString = function() {
        return this._string.join("");
    }
    
    //取得参数
    function QueryString(item) {
        var sValue = location.search.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)", "i"))
        return sValue ? sValue[1] : sValue
    }
    
    //字符串截取
    function SubString(str, len, hasDot) {
        var newLength = 0;
        var newStr = "";
        var chineseRegex = /[^\x00-\xff]/g;
        var singleChar = "";
        var strLength = str.replace(chineseRegex, "**").length;
        for (var i = 0; i < strLength; i++) {
            singleChar = str.charAt(i).toString();
            if (singleChar.match(chineseRegex) != null) {
                newLength += 2;
            }
            else {
                newLength++;
            }
            if (newLength > len) {
                break;
            }
            newStr += singleChar;
        }
    
        if (hasDot && strLength > len) {
            newStr += "...";
        }
        return newStr;
    }
    
    //设置参数
    function SetParms(page) {
        var myData = "action=GetPageData" +
                     "&TableName=" + page.TableName +
                     "&FieldList=" + page.FieldList +
                     "&PrimaryKey=" + page.PrimaryKey +
                     "&StrWhere=" + page.StrWhere +
                     "&StrOrder=" + page.StrOrder +
                     "&PageSize=" + page.PageSize +
                     "&PageIndex=" + page.PageIndex +
                     "&ts=" + new Date().getTime();
        return myData;
    }
    
    /**
    * =====================================================================================
    * =====================================================================================
    */
    
    //分页类
    function Page(TableName, FieldList, PrimaryKey, StrWhere, StrOrder, PageSize, PageIndex) {
        this.TableName = TableName;
        this.FieldList = FieldList;
        this.PrimaryKey = PrimaryKey;
        this.StrWhere = StrWhere;
        this.StrOrder = StrOrder;
        this.PageSize = PageSize;
        this.PageIndex = PageIndex;
    }
    
    //分页工厂
    function PageFactory(type) {
        var page = new Page();
        switch (type) {
            case "hotAffairs":
                page.TableName = "NE_news";
                page.FieldList = "NewsId, Title";
                page.PrimaryKey = "NewsId";
                page.StrWhere = "";
                page.StrOrder = "NewsId DESC";
                page.RecorderCount = 0;
                page.PageSize = 10;
                page.PageIndex = 1;
                break;
        }
    
        return page;
    }
    
    //创建热点新闻工厂
    var page_hotAffairs = new PageFactory("hotAffairs");
    
    /**
    * =====================================================================================
    * 初始化
    * =====================================================================================
    */
    
    window.onload = function() {
        GethotAffairs(); //获取热点新闻
    }
    
    /**
    * =====================================================================================
    * 方法
    * =====================================================================================
    */
    
    //获取热点新闻
    function GethotAffairs() {
        var url = "/Handler/NewsHandler/News.ashx";
        GethotAffairsData(url, SetParms(page_hotAffairs));
    }
    
    /**
    * =====================================================================================
    * 取数据
    * =====================================================================================
    */
    
    //获取热点新闻数据
    function GethotAffairsData(myUrl, myData) {
        $.ajax({
            url: myUrl,
            data: myData,
            type: "POST",
            dataType: "json",
            error: function() {
                //alert('Error loading XML document');
            },
            success: function(result) {
                var data = (result.Table);
                $.each(data, function(i, n) {
                    CreatehotAffairsList(i, n); //创建热点新闻列表
                });
            }
        });
    }
    
    /**
    * =====================================================================================
    * 操作 UI
    * =====================================================================================
    */
    
    //创建热点新闻列表
    function CreatehotAffairsList(i, n) {
        var li = "<li class=order" + (++i) + ">";
        li += "<a href='javascript:;' onclick='hotAffairsClick(" + n.NewsId + ")'; return false'>";
        li += SubString(n.Title, 20, false);
        li += "</a>";
        li += "</li>";
        $('#hotAffairs').append($(li));
    }
    
    /**
    * =====================================================================================
    * 事件
    * =====================================================================================
    */
    
    //点击热点新闻
    function hotAffairsClick(NewsId) {
        var url = "/News/DisplayNews.html?NewsId=" + NewsId;
        self.location = url;
    }
    
    /**
    * =====================================================================================
    * =====================================================================================
    */
  • 相关阅读:
    (转)IntelliJ IDEA 插件 阿里巴巴Java开发手册(Alibaba Java Coding Guidelines)
    idea快捷键整理
    (转)mysql使用Navicat 导出和导入数据库
    (转)Intellij Idea工具栏添加打开选中文件的资源管理器位置
    Intellij IDEA设置类注释和方法注释
    mavn jar包依赖冲突解决
    我的Keras使用总结(3)——利用bottleneck features进行微调预训练模型VGG16
    我的Keras使用总结(2)——构建图像分类模型(针对小数据集)
    我的Keras使用总结(1)——Keras概述与常见问题整理
    数据竞赛实战(5)——方圆之外
  • 原文地址:https://www.cnblogs.com/LinFx/p/2123698.html
Copyright © 2011-2022 走看看