/* * @Descripttion: 实现自动懒加载 * @version: * @Author: 张洋(温州易尚信息技术有限公司) * @Date: 2019-11-05 16:43:34 * @LastEditors: 张洋(温州易尚信息技术有限公司) * @LastEditTime: 2019-11-13 15:25:15 */ (function ($) { $.fn.loadmoreManual = function (options) { var defaults = { loading: '#getmore .loading-box', btn: '#getmore .handle', url: '', page: 1, pagecount: 1 } var opts = $.extend(defaults, options); var ele = $(this); // back yes no if ($('#backbuttonstate').val() == "0") { $('#backbuttonstate').val('1'); sessionStorage.setItem('page', ''); sessionStorage.setItem('top', ''); sessionStorage.setItem('html', ''); } // sessionStorage var page_ss = sessionStorage.getItem('page'); var page_top = sessionStorage.getItem('top'); var page_html = sessionStorage.getItem('html'); var page_def = page_ss ? page_ss : 1; $(document).on('click', '.allpro .prolist a', function () { sessionStorage.setItem('page', page_ss); sessionStorage.setItem('top', $(window).scrollTop()); sessionStorage.setItem('html', ele.html()); }); //backState if (page_ss) { $('html, body').animate({ scrollTop: page_top }, 0); ele.html(page_html); sessionStorage.setItem('page', ''); sessionStorage.setItem('top', ''); sessionStorage.setItem('html', ''); } opts.page = page_def; var pagecount = opts.pagecount; if (opts.page opts.pagecount) { console.log('所有信息已加载完毕'); return false; } var pushUrl = opts.url.indexOf('?') > 0 ? (opts.url + '&page=' + opts.page) : (opts.url + '?page=' + opts.page); $(opts.btn).css('display', 'none'); $(opts.loading).css('display', 'block'); // Ajax $.post(pushUrl, function (data) { setTimeout(function () { ele.append(data); $(opts.loading).css('display', 'none'); if (opts.page < opts.pagecount) $(opts.btn).css('display', 'inline-block'); page_ss = opts.page; }, 360); }).fail(function (data) { console.log(data); alert('拉取信息出错'); }); }); } })(jQuery);