作者aaa7513231 (浑沌与秩序)
看板Ajax
标题[问题] $.each内的function传入变数
时间Mon Jan 18 18:11:10 2016
大家好,很抱歉我标题下的很奇怪
因为我很难很清楚的一句话描述我的问题
我的问题如下程式码
就是我使用外挂原件去制作成图片
然而我有很多div需要制作後在一起合并成PDF
问题就是我该如何在onrendered: function内
传入index的数值进去,去知道说我现在是做第几个DIV
然後存到array内
var imgData = [];
$.each($(DivId), function(index, value) {
imgData.push(null);
html2canvas($(this), {
onrendered: function(canvas) {
imgData[index] = CanvasResize(canvas);
}
});
});
// 210mm = 793.700787px
// 50px = 13.229167mm
setTimeout(function() {
var pdf = new jsPDF('p', 'mm', [297, 210]);
$.each($(DivId), function(index, value) {
if(index!=0) pdf.addPage();
pdf.addImage(imgData[index], 'png', 20, 20, 170, 0, null,
'NONE');
}
pdf.save(FileName + ".pdf");
document.body.style.zoom = 1.0;
}, 3000);
网页显示
http://pastie.org/10693231#2-9
谢谢大家:)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.124.29.189
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ajax/M.1453111873.A.578.html
1F:推 LPH66: 包一层 closure 起来 01/18 20:24
2F:→ LPH66: onrendered: (function(index){return function(canvas){ 01/18 20:24
3F:→ LPH66: /*...*/}; })(index) } 01/18 20:25
4F:→ LPH66: 啊, 上一行最後的 } 是物件结束的 } @@ 01/18 20:25
5F:→ aaa7513231: 第一次知道closure这东西!!!!!!!!! 01/18 21:08
6F:→ aaa7513231: 感谢L大!!!!!,明天来试试:) 01/18 21:08
7F:→ mmis1000: 现在的话,比较推荐 Function.prototype.bind 欧... 01/20 23:46
8F:→ mmis1000: 这个效果跟用closure差不多,但是版面乾净很多 01/20 23:47
9F:→ mmis1000: 缺点是太旧的浏览器可能不支援 01/20 23:47
10F:→ mmis1000: 结果是(function(index, canvas){}).bind(null, index) 01/20 23:50