Light12306/Web12306/js/ui/ui-train-stop.js

56 lines
1.4 KiB
JavaScript
Raw Normal View History

2014-07-01 20:07:44 +08:00
define(function (require, exports, module) {
var ev = require("../platform/EventObject.js");
var query = require("../otn/queryticket.js");
//模板
var tpl = $("#train_stops_template").doT();
var container = $("#train-stops");
var TrainStopUi = function () {
ev.apply(this);
var that = this;
this.init = function () {
$(document).on("click", "a.train-station-type", that.show).on("click", function () {
container.hide();
});
};
this.show = function (e) {
var target = $(this);
var id = target[0].dataset.id;
var from = target[0].dataset.from;
var to = target[0].dataset.to;
var date = target[0].dataset.date;
//准备查询
container.find("tr:gt(2)").remove();
container.find("tr:gt(0)").hide();
container.find("tr:eq(1)").show();
query.queryTrainStop(id, from, to, date)
.done(function (data) {
container.find("tr:gt(0)").hide();
container.find("tr:last").after(tpl(data));
}).fail(function () {
container.find("tr:eq(2)").show();
container.find("tr:eq(1)").hide();
});
//显示
var pos = target.position();
container.css({ left: pos.left + "px", top: (pos.top + 25) + "px" });
container.show();
e.stopPropagation();
e.preventDefault && e.preventDefault();
};
return this;
};
TrainStopUi.prototype = Object.create(ev);
TrainStopUi.constructor = TrainStopUi;
return new TrainStopUi();
});