/**
* =====================================================================================
* =====================================================================================
*/
/**
* @版本 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;
}
/**
* =====================================================================================
* =====================================================================================
*/