(function($) { // var $script = $('#script'); // var total_all = JSON.parse($script.attr('data-total')); $.fn.list_loader = function(path,first,data) { var tgtObj = $(this); var path = path; if(first == undefined){ first = false; } if(first) path += '&source=true'; var url = parseURL(path); var pathname = url.pathname; var so = url.searchObject; if(data) so = data; var ofcheck = 'offset' in so; if(!ofcheck){ so['offset'] = "0"; } // ajaxで読み込んだかを判定 so.append = 'true'; loading(); /*$(".loading").css({ textAlign:"center", padding:"150px" })*/ function loading(){ $.ajax({ beforeSend: function(){ tgtObj.append('

Now loading...

'); }, url : pathname, type : "get", data : so, success: function(request) { $(".loading", tgtObj).animate({ opacity:0 },300, function(){ $(this).remove(); $('.newsmore').hide(); if(first){ tgtObj.html(request); }else{ tgtObj.append(request); } } ); } }); } function parseURL(url) { var parser = document.createElement('a'), searchObject = {}, queries, split, i; // Let the browser do the work parser.href = url; // Convert query string to object queries = parser.search.replace(/^\?/, '').split('&'); for( i = 0; i < queries.length; i++ ) { split = queries[i].split('='); // keyにURLエンコードされた文字列が入ってきたときの対策 split[0] = decodeURIComponent(split[0]); searchObject[split[0]] = split[1]; } return { protocol: parser.protocol, host: parser.host, hostname: parser.hostname, port: parser.port, pathname: parser.pathname, search: parser.search, searchObject: searchObject, hash: parser.hash }; } }; })(jQuery);