You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

修改div的data属性无法更新js-cloudimage-360-view的360旋转视图图片

问题原因

js-cloudimage-360-view 仅会在页面首次加载时读取一次DOM元素上的data属性完成初始化,后续手动修改data属性不会触发库的重新渲染逻辑,因此页面展示的图片不会发生变化。

解决步骤

1. 调整script加载顺序

要先加载js-cloudimage-360-view库,再加载自定义的main.js,才能在业务代码中正常调用库暴露的全局方法,修改index.html中的script顺序如下:

<script src="js-cloudimage-360-view.min.js"></script>
<script src="main.js"></script>

2. 修改main.js逻辑

修改完配置参数后,主动调用库的销毁+初始化方法,触发新图片集的加载,修改后的代码如下:

const img_box = document.querySelector('.cloudimage-360')
const btn = document.querySelector('button')

btn.addEventListener('click',()=>{
    // 更新配置参数
    img_box.dataset.folder = 'temp_images/'
    img_box.dataset.filename = '{index}.png'
    // 若新图片集的总张数和原配置的22张不一致,需要同步修改amount参数
    // img_box.dataset.amount = '36'
    
    // 销毁原有实例,重新初始化加载新图片集
    window.CI360.destroy()
    window.CI360.init()
})

如果调用上述方法后存在残留的旧视图DOM,可以在销毁后手动清空容器内容再初始化,代码如下:

btn.addEventListener('click',()=>{
    img_box.dataset.folder = 'temp_images/'
    img_box.dataset.filename = '{index}.png'
    window.CI360.destroy()
    // 清空容器内旧的渲染内容
    img_box.innerHTML = ''
    window.CI360.init()
})

内容的提问来源于stack exchange,提问作者zahin178

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 20:09:03