HTML Javascript-下载
我已经用three.js实现了一个3d模型,我想在用户点击时下载base64 png图像。我已经这样做了,但我的问题是:我希望下载在1秒后开始,因为我想先将模型的背景颜色从黑色更改为白色。因此,如果下载立即开始,则代码可以工作,但在setTimeout()函数中则不会。以下是它的工作原理:HTML Javascript-下载,javascript,html,download,three.js,base64,Javascript,Html,Download,Three.js,Base64,我已经用three.js实现了一个3d模型,我想在用户点击时下载base64 png图像。我已经这样做了,但我的问题是:我希望下载在1秒后开始,因为我想先将模型的背景颜色从黑色更改为白色。因此,如果下载立即开始,则代码可以工作,但在setTimeout()函数中则不会。以下是它的工作原理: renderer.setClearColor("white"); setTimeout( function(){ window.open(renderer.
renderer.setClearColor("white");
setTimeout(
function(){
window.open(renderer.domElement.toDataURL("image/png"),"Final");
renderer.setClearColor("black");
}
,500);
document.getElementById("bt").download ="file.png";
$(this).attr('href',renderer.domElement.toDataURL("image/png"));
这就是不起作用的地方
renderer.setClearColor("white");
setTimeout(
function(){
document.getElementById("bt").download="file.png";
$(this).attr('href',renderer.domElement.toDataURL("image/png"));
renderer.setClearColor("black");
}
,500);
为什么需要设置超时来更改背景颜色?您不能在设置背景颜色之后,但在调用toDataUrl之前调用渲染函数吗?为什么需要设置超时来更改背景颜色?您不能在设置背景颜色之后,但在调用toDataUrl之前调用渲染函数吗?