网页history ajax,HTML5 history API与ajax分页实例页面

该博客主要关注上海不同区域如浦东、宝山、嘉定等的房地产开盘情况。通过实时更新的数据,揭示3月份各区域的新开盘项目数量,为投资者和购房者提供市场参考。同时,利用Ajax技术动态加载数据,实现页面的平滑刷新,优化用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

var eleMenuOn = null, eleListBox = $("#listBox"), tempList = $("#tempChoList").html()

, clMenuOn = "cho_link_on";

String.prototype.temp = function(obj) {

return this.replace(/\$\w+\$/gi, function(matchs) {

var returns = obj[matchs.replace(/\$/g, "")];

return (returns + "") == "undefined"? "": returns;

});

};

var eleMenus = $("#choMenu a").bind("click", function(event) {

var query = this.href.split("?")[1];

if (history.pushState && query && !$(this).hasClass(clMenuOn)) {

eleMenuOn && eleMenuOn.removeClass("cho_link_on");

eleMenuOn = $(this).addClass("cho_link_on");

eleListBox.html('

$.ajax({

url: this.href,

dataType: "json",

success: function(data) {

var html = '';

if ($.isArray(data)) {

$.each(data, function(i, obj) {

html += tempList.temp(obj);

});

}

eleListBox.html(html || '

丫的没数据啊!
');

},

error: function() {

eleListBox.html('

数据获取失败!
');

}

});

// history处理

var title = "上海3月开盘项目汇总-" + $(this).text().replace(/\d+$/, "");

document.title = title;

if (event && /\d/.test(event.button)) {

history.pushState({ title: title }, title, location.href.split("?")[0] + "?" + query);

}

}

return false;

});

var fnHashTrigger = function(target) {

var query = location.href.split("?")[1], eleTarget = target || null;

if (typeof query == "undefined") {

if (eleTarget = eleMenus.get(0)) {

history.replaceState(null, document.title, location.href.split("#")[0] + "?" + eleTarget.href.split("?")[1]) + location.hash;

fnHashTrigger(eleTarget);

}

} else {

eleMenus.each(function() {

if (eleTarget === null && this.href.split("?")[1] === query) {

eleTarget = this;

}

});

if (!eleTarget) {

history.replaceState(null, document.title, location.href.split("?")[0]);

fnHashTrigger();

} else {

$(eleTarget).trigger("click");

}

}

};

if (history.pushState) {

window.addEventListener("popstate", function() {

fnHashTrigger();

});

// 默认载入

fnHashTrigger();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值