Skip to content

Instantly share code, notes, and snippets.

@kukat
Created April 13, 2012 16:37
Show Gist options
  • Save kukat/2378223 to your computer and use it in GitHub Desktop.
Save kukat/2378223 to your computer and use it in GitHub Desktop.
Load more: JetStarSearch.js
var loadMoreLink;
var loadingImg;
load = function() {
load.getScript("http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js");
load.tryReady(0); //用来等待jQuery类库加载
}
//以下代码用来动态加载任何js代码
load.getScript = function(filename) {
var script = document.createElement('script')
script.setAttribute("type","text/javascript")
script.setAttribute("src", filename)
if (typeof script!="undefined")
document.getElementsByTagName("head")[0].appendChild(script)
}
load.tryReady = function(time_elapsed) {
//持续查询jQuery是否加载完毕
if (typeof jQuery == "undefined") { // 如果没有加载jQuery...
if (time_elapsed <= 5000) {
setTimeout("load.tryReady(" + (time_elapsed + 200) + ")", 200); //设置200ms后继续尝试
} else {
alert("Failed to loading jQuery because of timeout.")
}
} else {
// jQuery加载完毕后执行的代码
jQuery("#status").animate({'font-size':'30px'}).text("Great! jQuery is loaded for GBin1.com!");
jQuery.getScript('https://raw.github.com/azatoth/jquery-sprintf/master/jquery.sprintf.js');
loadMoreLink = jQuery('a:last').html('Load More').attr('href','javascript:loadMore()');
loadMoreLink.after('<img alt="" style="display:none" id="loadingImg" src="data:image/gif;base64,R0lGODlhEAALAPQAAP////9QAP/m2v/f0P/x6v9VB/9QAP9wL/+qgv+SYf/Quv9oI/+DS/+viv+VZf/Tvv9rJ/9TBf+GT//u5v/k2P/39P93Of/n3P/28v/Ntv++oP/byv/z7v9QAP9QAP9QACH5BAkLAAAAIf4aQ3JlYXRlZCB3aXRoIGFqYXhsb2FkLmluZm8AIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAEAALAAAFLSAgjmRpnqSgCuLKAq5AEIM4zDVw03ve27ifDgfkEYe04kDIDC5zrtYKRa2WQgAh+QQJCwAAACwAAAAAEAALAAAFJGBhGAVgnqhpHIeRvsDawqns0qeN5+y967tYLyicBYE7EYkYAgAh+QQJCwAAACwAAAAAEAALAAAFNiAgjothLOOIJAkiGgxjpGKiKMkbz7SN6zIawJcDwIK9W/HISxGBzdHTuBNOmcJVCyoUlk7CEAAh+QQJCwAAACwAAAAAEAALAAAFNSAgjqQIRRFUAo3jNGIkSdHqPI8Tz3V55zuaDacDyIQ+YrBH+hWPzJFzOQQaeavWi7oqnVIhACH5BAkLAAAALAAAAAAQAAsAAAUyICCOZGme1rJY5kRRk7hI0mJSVUXJtF3iOl7tltsBZsNfUegjAY3I5sgFY55KqdX1GgIAIfkECQsAAAAsAAAAABAACwAABTcgII5kaZ4kcV2EqLJipmnZhWGXaOOitm2aXQ4g7P2Ct2ER4AMul00kj5g0Al8tADY2y6C+4FIIACH5BAkLAAAALAAAAAAQAAsAAAUvICCOZGme5ERRk6iy7qpyHCVStA3gNa/7txxwlwv2isSacYUc+l4tADQGQ1mvpBAAIfkECQsAAAAsAAAAABAACwAABS8gII5kaZ7kRFGTqLLuqnIcJVK0DeA1r/u3HHCXC/aKxJpxhRz6Xi0ANAZDWa+kEAA7" />');
loadingImg = jQuery('#loadingImg');
}
}
load();
// get parameter's value from URL
function getURLParameter(name) {
return decodeURI(
(RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
);
}
// get all parameters
function getParameters() {
var searchString = window.location.search.substring(1)
, params = searchString.split("&")
, hash = {}
;
for (var i = 0; i < params.length; i++) {
var val = params[i].split("=");
hash[unescape(val[0])] = unescape(val[1]);
}
return hash;
}
function getLastDate()
{
hash = {};
var tdArr = jQuery('.cdate');
var tdLast = tdArr[tdArr.length-1];
var tdLastText = jQuery(tdLast).text();
var date = /(\d+)-(\d+)-(\d+)/.exec(tdLastText);
var fMonth;
hash['fMonth'] = date[1];
hash['fDay'] = date[2];
hash['fYear'] = date[3];
return hash;
}
var parameters = getParameters();
function loadMore()
{
loadMoreLink.html('loading...');
loadingImg.toggle();
var date = getLastDate();
var nextUrl = "http://jetstarsearch.com/search.php?departMonth=" + date.fMonth
+ "&departDay=" + date.fDay
+ "&departYear=" + date.fYear
+ "&origin=" + parameters.origin
+ "&destination=" + parameters.destination
+ "&B1=Search+Jetstar+Flights";
var theTable = jQuery('td.chead').parents('table').first();
jQuery.ajax({
url: nextUrl,
success: function(data, textStatus, jqXHR){
nextHtml = data;
console.log(data);
var newTable = jQuery(nextHtml).find('td.chead').parents('table').first();
theTable.find('tbody').append(newTable.find('tbody').html());
loadMoreLink.html('Load More');
loadingImg.toggle();
},
error: function(jqXHR, textStatus, errorThrown){
console.log(errorThrown);
loadMoreLink.html('Load More');
loadingImg.toggle();
}
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment