分享
查看: 1634|回复: 0

[分享] 鼠标滚轮操作UIAnchor或者marker顶牌时如何不触发场景的缩放

[复制链接]

鼠标滚轮操作UIAnchor或者marker顶牌时如何不触发场景的缩放

发表于 2024-3-7 16:56:42 来自 分享 只看大图 阅读模式 倒序浏览
zzv_icon1634 zzr_icon0 查看全部
实现效果:鼠标滚轮在marker或者UIAnchor顶牌上滚动不触发场景缩放。如图:
鼠标滚轮操作UIAnchor或者marker顶牌时如何不触发场景的缩放

链接效果:https://www.thingjs.com/s/31f2d37a2fc41da535ccabb5
核心代码
  1. //  marker001 为元素的id
  2. document.getElementById('marker001').addEventListener('wheel', (ev) => {
  3.                     ev.stopPropagation()
  4.                 })
复制代码


整体代码如下:
  1. var app = new THING.App({
  2.     url: 'https://www.thingjs.com/static/models/factory',  // 场景地址
  3.     background: '#000000',
  4.     env: 'Seaside',
  5. });

  6. // 场景加载完成的回调函数
  7. app.on("load", function () {
  8.     let name = '叉车'
  9.     const markDown = document.createElement('div');
  10.     markDown.innerHTML = `
  11.     <div class='name' id='marker001' style="pointer-events:all;height: 150px;width: 320px;">
  12.         <div style='width:320px;height:87px;line-height:87px;color:#FFFFFF;background-size:cover;background-repeat: no-repeat;background-image:url("/uploads/wechat/703071/file/marker滚轮事件不传递到场景事假上/img/顶牌_单名称栏_基础_右.png");text-align:center;font-size:38px;'>
  13.         ${name}
  14.         </div>
  15.         <div style='width:100%;height:30px;margin-top:20px;'>
  16.         <div style='width:25px;height:15px;color:#FFFFFF;margin:0px auto;background-image:url("/uploads/wechat/703071/file/marker滚轮事件不传递到场景事假上/img/顶牌_底三角.png");background-size:cover;'>
  17.         </div>
  18.     </div>
  19.     `

  20.     $('#div3d').append(markDown)
  21.     app.create({
  22.         type: 'Marker',
  23.         name: '叉车顶牌',
  24.         alwaysOnTop: true,
  25.         size: 1,
  26.         parent: app.query("car01")[0],
  27.         element: markDown,
  28.         localPosition: [0, 3, 0],
  29.         complete: function (ev) {
  30.             setTimeout(function () {
  31.                 // 核心代码
  32.                 // marker001 为marker顶牌 元素的id
  33.                 document.getElementById('marker001').addEventListener('wheel', (ev) => {
  34.                     ev.stopPropagation()
  35.                 })
  36.             }, 500)

  37.         }
  38.     });
  39. })


复制代码

avatar
游客~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

130700ppkpl8x3t7tt1b1t