唠嗑
今天有一个需求,需要将原有流程的3D渲染展示增加一个功能,自动轮流播放,由于此功能是轮流显示某一张图片,我一开始就想到了设置一个定时器切换图片显示,然后我根据我这么久的开发经验告诉我,应该去看看渲染插件(KeyShotXR)有没有相应的功能,那样完成更快。结果没有,就写一个定时器切换图片吧!
视频展示
视频链接: 点我点我点我
代码
//控制3D旋转的箭头,隐藏
$(".timeline .swiper-wrapper").mousedown(function () {
$("#quanjingicon").css("opacity", "0")
window.clearInterval(t2); //关闭定时器
})
//控制3D旋转的箭头,显示
$(".timeline .swiper-wrapper").mouseup(function () {
$("#quanjingicon").css("opacity", "0.2")
t2 = window.setInterval("automaticRotation()",100); //打开定时器
})
// ----------------------- 打开3D之后自动旋转 start ----------------------------
var Rotation = 0; //当前图片
automaticRotation = function (){
var img = document.getElementById("backbuffer");
Rotation = img.src.split("401/0_")[1].split(".png")[0]; //获取当前图片
++Rotation; //在当前图片名字加1
if (Rotation > 35){ //轮播图片共35张,大于35自动重新加载
Rotation = 0;
}
img.src = "${(domainUrlUtil.EJS_IMAGE_RESOURCES)!}/images/rendering/401/0_"+Rotation+".png"; //更改图片
}
var t2 ; //定时器
//查看3D渲染图
$("#product_img_show_button_img_3D").click(function (){
t2 = window.setInterval("automaticRotation()",100); //打开定时器
})
//当点击其他按钮(不查看3D渲染图)
$(".product_img_show_button_div .product_img_show_button_img").click(function (){
window.clearInterval(t2); //关闭定时器
})
// ----------------------- 打开3D之后自动旋转 end ----------------------------