当前位置: 首页 > wzjs >正文

设计素材网站会员it行业有哪些职业

设计素材网站会员,it行业有哪些职业,深圳城市更新或提速,那个网站做的调查准确问题根源分析 原生组件层级&#xff1a;uniapp中的原生地图组件&#xff08;如<map>&#xff09;默认处于最高层级&#xff0c;普通视图元素无法覆盖事件冒泡机制&#xff1a;触摸事件会穿透到下层组件滚动冲突&#xff1a;当内容滚动到底部/顶部时继续滑动会触发父容器…

问题根源分析

  1. 原生组件层级:uniapp中的原生地图组件(如<map>)默认处于最高层级,普通视图元素无法覆盖
  2. 事件冒泡机制:触摸事件会穿透到下层组件
  3. 滚动冲突:当内容滚动到底部/顶部时继续滑动会触发父容器滚动

完整解决方案

步骤1:结构优化
<template><!-- 地图容器使用固定布局 --><view class="map-container"><map id="myMap" style="width:100%;height:100vh" :latitude="latitude" :longitude="longitude"></map></view><!-- 覆盖层使用 cover-view --><cover-view class="mapViewBox" :style="viewStyle" v-if="viewPlan"@touchmove.prevent.stop="noop"catchtouchmove><!-- 关闭按钮使用原生组件 --><cover-image class="close-btn" src="/static/icon/cancel.png" @click="viewPlan = false"/><!-- 滚动区域隔离事件 --><scroll-view scroll-y class="content-scroll"@touchstart.stop="noop"@touchmove.stop="noop"><!-- 内容区域 --></scroll-view><!-- 底部按钮 --><cover-view class="navigation"><button @click="mapNavigation">到这里去</button></cover-view></cover-view>
</template>
步骤2:样式控制
/* 地图容器 */
.map-container {position: fixed;width: 100%;height: 100vh;z-index: 1; /* 确保低于覆盖层 */
}/* 覆盖层 */
.mapViewBox {position: fixed;bottom: 0;left: 0;right: 0;z-index: 9999; /* 必须高于地图层级 */background: #fff;max-height: 60vh;touch-action: none; /* 禁用默认滚动 */box-shadow: 0 -4rpx 20rpx rgba(0,0,0,0.1);.content-scroll {height: calc(60vh - 120rpx); /* 动态高度计算 */overflow: hidden;}
}/* 关闭按钮定位 */
.close-btn {position: absolute;top: -100rpx;right: 30rpx;width: 30rpx;height: 30rpx;z-index: 10000;
}
步骤3:事件处理
<script setup>
// 空操作函数阻止事件冒泡
const noop = () => {};// 动态计算样式
const viewStyle = ref({});
onMounted(() => {const systemInfo = uni.getSystemInfoSync();viewStyle.value = {width: '100%',maxHeight: `${systemInfo.windowHeight * 0.6}px`};
});
</script>

核心原理详解

  1. 层级控制
    z-index:9999 确保覆盖层在地图组件之上
    position:fixed 脱离文档流避免布局错乱
    • 使用 cover-viewcover-image 原生组件覆盖地图

  2. 事件拦截
    @touchmove.prevent.stop:阻止默认滚动行为 + 停止事件冒泡
    catchtouchmove:小程序专用属性,捕获并终止事件传递
    touch-action:none:CSS属性禁用浏览器默认滚动处理

  3. 滚动隔离
    scroll-view 设置固定高度(calc(60vh - 120rpx)
    • 底部按钮使用绝对定位,避免占据滚动空间
    overflow:hidden 防止内容溢出导致穿透


扩展优化建议

  1. 性能优化
// 在 onPageScroll 生命周期中阻止滚动穿透
onPageScroll(e) {if(this.viewPlan) return false;
}
  1. 视觉优化
/* 添加渐变遮罩提示 */
.mapViewBox::after {content: '';position: absolute;bottom: 120rpx;left: 0;right: 0;height: 60rpx;background: linear-gradient(to top, rgba(255,255,255,1), rgba(255,255,255,0));
}
  1. 平台差异处理
// 条件编译处理不同平台
// #ifdef MP-WEIXIN
viewStyle.value.maxHeight = '60vh';
// #endif

最终效果验证

  1. 覆盖层滑动时地图保持静止
  2. 滚动到底部/顶部时不会触发地图移动
  3. 点击操作正常响应无穿透
  4. 各平台(H5、小程序、APP)表现一致

通过以上方案,可有效解决uniapp地图组件与覆盖层的滚动冲突问题。如仍有异常,请检查是否使用了非原生组件实现地图功能。

http://www.dtcms.com/wzjs/769880.html

相关文章:

  • 公司网站建设一条龙网站规划与建设ppt
  • 自己做的网站怎么发布视频教程广州网站优化效果
  • 网站建设找北冥有鱼网站做多少外链
  • 怎么用dw网站怎么建设视觉差网站制作
  • 网站怎么实现邮件验证手机淘宝网官网
  • 网站页码北京设计机构
  • 邓亚萍20亿做网站绍兴越城区建设局网站
  • 网页播放视频 网站开发旅游网站开发方案ppt
  • 高端响应式网站陵水网站建设装修设计公司
  • 洛阳网站制作建设如何申请一个网址
  • 南阳在线网站制作wordpress 5.0.2 发布失败
  • 宜兴宜兴建设局网站温州网络优化公司
  • 贵阳市城乡建设学校网站北京网站设计学校
  • 刷网站排名怎么刷学网站建设学校
  • 泊头哪里建网站呢创建站点的方法
  • 国外浏览器网站html黑什么主题WordPress
  • 如何苗木网站建设电商网站前端源码
  • 怎么做淘宝联盟网站推广广州网站优
  • 苏州网站优化排名推广西安的网站设计公司名称
  • 河南城乡建设厅网站证书查询wordpress 论坛系统
  • 建个网站的电话广告策划公司
  • 无锡做网站哪家好低价网站建设哪家便宜
  • 企业网站建设专业的最优惠的手机网站建设
  • 营销网站的特征手机网站建设的企业
  • 上杭县城乡规划建设局网站搜索网站的设计与建设
  • wordpress主题制作 工具网站的内部优化公司
  • 网站怎么收录到百度想要做个公司网站
  • 做网站的背景照设计一个商务网站
  • 网站建设公司生存现状wordpress用什么框架开发
  • 义乌建站网站开发公司电话