异步加载数据——turn.js
var tostore = GetQueryString("tostore");
var photo_id = GetQueryString("photo_id");
var photo_name = decodeURI(decodeURI(GetQueryString("photo_name")));
var picArr = [];
var loadType = 2;
var total = 0;
$(function () {
ToolBar.pagesize = 20;
ToolBar.callback = picture.load;
ToolBar.show = false;
picture.loadData();
$("#albumName").html("《" + photo_name.replace(/(^\s*)|(\s*$)/g, "") + "》");
$('.scaleBtn').viewer({
url: 'data-original'
});
$("#goStore, .head").click(function () {
goUrl('/index.aspx');
});
});
var picture = {
load: function () {
ToolBar.isLoading = true;
var data = {
act: "GetEphotoDetailsList",
photo_id: photo_id,
page: ToolBar.currentPage,
pagesize: ToolBar.pagesize
};
var successFun = function (json) {
ToolBar.isLoading = false;
total = json.Info.length;
ToolBar.build(total);
if (ToolBar.currentPage == 1) {
if (total > 0) {
picture.getArr(json.Info);
picture.initTurn();
$(".albumCount").html(1 + "/" + total);
ToolBar.currentPage++;
} else {
$(".flipbook").html('<img class="emptyTip" src="/images/empty.png" />');
$(".btnLst").addClass("hideBtnLst");
$(".albumCount").html("店铺没有上传图册~");
}
} else {
picture.addTo(json.Info);
}
};
JsAjax("/Handle/nc_store_ephotoHandle.ashx", data, successFun);
},
loadData: function () {
ToolBar.currentPage = 1;
picture.load();
},
getArr: function (data) {
var html = "";
$(data).each(function (index, item) {
html += '<div><img class="imgCover" src="' + item.ephoto_url + '" /></div>';
});
$(".flipbook").append(html);
},
addTo: function (data) {
var imgArr = [];
$(data).each(function (index, item) {
imgArr.push(item.ephoto_url);
});
for (var i = 0; i < imgArr.length; i++) {
var element = $('<div><img class="imgCover" src="' + imgArr[i] + '" /></div>');
var page = $(".flipbook").turn("pages");
$(".flipbook").turn("addPage", element);
}
},
initTurn: function () {
var w = 7.18 + 'rem';
var h = 5.71 + 'rem';
$('.flipbook').turn({
width: w,
height: h,
acceleration: true,
elevation: 50,
display: 'single',
duration: 500,
gradients: true,
autoCenter: true,
when: {
turned: function (e, page, view) {
picture.zoomIn(page);
$(".albumCount").html(page + "/" + total);
if (page == 1 || page == total) {
$(this).turn('peel', 'br');
}
if (page % ToolBar.pagesize == 0) {
ToolBar.next();
}
}
}
})
},
zoomIn: function (page) {
var bg = $(".p" + page).find("img").attr("src");
$(".scaleBtn img").attr("src", bg);
}
}
异步加载数据——turn.js的更多相关文章
- 新手教程:不写JS,在MIP页中实现异步加载数据
从需求谈起:在 MIP 页中异步加载数据 MIP(移动网页加速器) 的 加速原理 除了靠谱的 MIP-Cache CDN 加速外,最值得一提的就是组件系统.所有 JS 交互都需要使用 MIP 组件实现 ...
- iScroll.js 向上滑动异步加载数据回弹问题
iScroll是一款用于移动设备web开发的一款插件.像缩放.下拉刷新.滑动切换等移动应用上常见的一些效果都可以轻松实现. 现在最新版本是5.X,官网这里:http://iscrolljs.com/ ...
- 关于使用Iscroll.js异步加载数据后不能滑动到最底端的问题解决方案
关于使用Iscroll.js异步加载数据后不能滑动到最底端,拉到最下边又弹回去的问题困扰了我老半天,相信很多朋友都遇到了.我刚好不小心解决了,和大家分享一下.由于各种忙,下边就直接上代码吧. (前提是 ...
- highcharts.js两种数据绑定方式和异步加载数据的使用
一,我们先来看看异步加载数据的写法(这是使用MVC的例子) 1>js写法 <script src="~/Scripts/jquery-2.1.4.min.js"> ...
- 淘宝购物车页面 智能搜索框Ajax异步加载数据
如果有朋友对本篇文章的一些知识点不了解的话,可以先阅读此篇文章.在这篇文章中,我大概介绍了一下构建淘宝购物车页面需要的基础知识. 这篇文章主要探讨的是智能搜索框Ajax异步加载数据.jQuery的社区 ...
- Jquery zTree结合Asp.net实现异步加载数据
zTree结合Asp.net实现异步加载数据 实现简单操作 zTree 下载 api 访问 :http://www.ztree.me/v3/main.php 例子中用到json数据转化 newtons ...
- Highcharts 异步加载数据曲线图表
导入 data.js 文件 异步加载数据需要引入以下js 文件: <script src="http://code.highcharts.com/modules/data.js&quo ...
- [Ext.Net]TreePanel 异步加载数据
异步加载数据指的是页面加载的时候只显示根目录,点击根目录再去加载其子目录. 下面就来介绍下这种异步加载的树结构要怎么实现 现将例子的图 QQ图片20131225134353.jpg (12.1 KB, ...
- Highcharts 基本曲线图;Highcharts 带有数据标签曲线图表;Highcharts 异步加载数据曲线图表
Highcharts 基本曲线图 实例 文件名:highcharts_line_basic.htm <html> <head> <meta charset="U ...
随机推荐
- 解释 Spring 框架中 bean 的生命周期?
Spring 容器 从 XML 文件中读取 bean 的定义,并实例化 bean. Spring 根据 bean 的定义填充所有的属性. 如果 bean 实现了 BeanNameAware 接口,Sp ...
- (stm32学习总结)—对寄存器的理解
芯片里面有什么 我们看到的 STM32 芯片是已经封装好的成品,主要由内核和片上外设组成.若与电脑类比,内核与外设就如同电脑上的 CPU 与主板.内存.显卡.硬盘的关系.STM32F103 采用的是 ...
- c++中的赋值函数
在c++中,对于任意一个类Class A,如果程序员不显示的声明和定义上述函数,C++编译器将会自动的为A产生4个public inline 的默认函数,这4个函数最常见的形式为: A() //默认构 ...
- turnjs fabricjs canvas 翻书
最近做了一个翻书效果的项目, 来总结一下实现过程和遇到的一些问题, 供自己以后快速解决问题, 希望也能帮到同样遇到此类问题的同学, 如果有更好的方法,希望你能分享给我git地址 插件: Turn.js ...
- ES6-11学习笔记--代理Proxy
Proxy代理 常用拦截方法 ES5拦截: let obj = {} let newVal = '' Object.defineProperty(obj, 'name', { get() { cons ...
- nodejs教程---基于expressJs框架,实现文件上传(upload)?
文件上传功能在nodejs初期是一件很难实现的功能,之后出现了formidable勉强能解决这个问题,但是express框架出现之后基于这个框架开发的中间件有更好的方法来处理文件上传,这个中间件就是m ...
- FreeRTOS+CubeMX编程实践
一.关于FreeRTOS 1.什么是FreeRTOS? FreeRTOS是一个轻量级的操作系统.FreeRTOS提供的功能包括:任务管理.时间管理.信号量.消息队列.内存管理.记录功能等,可基本满足较 ...
- API管理工具介绍
时间都去哪里了 敏捷迭代和团队协作,前后端分离的工作模式几乎是每个互联网公司的常规工作模式. 前后端分离,各自开发的优点很多,其中一项是它只需要提供一个统一的API接口,即可被web,iOS,An ...
- php进制转换
前端html页面代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
- Casdoor + OAuth 实现单点登录 SSO
简介 Casdoor 是一个基于 OAuth 2.0 / OIDC 的中心化的单点登录(SSO)身份验证平台,简单来说,就是 Casdoor 可以帮你解决用户管理的难题,你无需开发用户登录.注册等与用 ...