12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- (function(exports) {
- var App = function() {
- this.page = 1;
- this.pageSize = 10;
- this.$content = $('#listWrap');
- this.gameZone = encodeURI($.cookie('boxGameZone')) || 'dx1',
- this.userId = encodeURI($.cookie('boxUserId')) || '2927006252';
- this.url = "http://api.lolbox.duowan.com/api/v2/player/"+ this.gameZone +"/" + this.userId + '/follows_followers/';
- this.lastType = 'follow';
- this.processType = 'follow';
- this.currentPage = 1;
- this.cacheData = {};
- this.init();
- };
- App.prototype.init = function() {
- var self = this;
- this.getData().done(function(data) {
- self.cacheData = data;
- self.render(1);
- });
- this.bindTabSwitchEvt();
- };
-
- App.prototype.render = function() {
- if(self.processType != self.lastType) this.page = 1;//重置 page
- var data = this.processType == 'follow' ? this.cacheData['follows'] : this.cacheData['followers'];
- data = data.slice((this.page - 1) * this.pageSize, this.page * this.pageSize);
- data.pageType = this.processType;
- data.page = this.page;
- data.pageSize = this.pageSize;
- var tmpl = _.template($('#dataTmpl').html());
- this.$content.html(tmpl({
- data: data
- }));
- };
- App.prototype.next = function(next) {
- if(next == this.page) return;
- this.page = next;
- this.render();
- };
- App.prototype.pre = function(pre) {
- if(pre == this.page) return;
-
- this.page = pre;
- this.render();
- };
- App.prototype.go = function() {
- var goValue = $('#go').val();
- if(!goValue || goValue < 0) return;
-
- this.page = goValue;
- this.render();
- };
- App.prototype.bindTabSwitchEvt = function() {
- var self = this;
- $('.mod-tabs-trigger').on('click', 'li', function() {
- var $this = $(this);
- $this.parent().find('li').removeClass('selected');
- $this.addClass('selected');
- self.processType = $this.attr('data-type');
- if(self.processType == self.lastType) return;
- self.lastType = self.processType;
- self.render();
- });
- };
- App.prototype.getData = function() {
- return $.ajax({
- url: this.url,
- dataType: 'jsonp',
- jsonpCallback: 'callback',
- jsonp: 'callback'
- });
- };
- function getURLParam(name) {
- var value = location.search.match(new RegExp("[?&]" + name + "=([^&]*)(&?)", "i"));
- return value ? decodeURIComponent(value[1]) : value;
- }
- exports.App = App;
- })(window);
|