当前位置:首页 > uni-app

uniapp搜索框吸顶

2026-03-26 12:24:51uni-app

uniapp实现搜索框吸顶效果

在uniapp中实现搜索框吸顶效果,可以通过以下几种方式实现:

使用CSS的position: sticky属性

.search-box {
  position: sticky;
  top: 0;
  z-index: 999;
  background-color: #ffffff;
}

这种方法简单高效,适用于大多数场景。注意需要设置z-index确保搜索框位于其他元素上方,同时设置background-color防止内容穿透。

监听页面滚动事件

onPageScroll(e) {
  if (e.scrollTop > 200) {  // 200为触发吸顶的滚动阈值
    this.isFixed = true
  } else {
    this.isFixed = false
  }
}

在模板中使用动态class绑定:

<view :class="['search-box', isFixed ? 'fixed' : '']"></view>

对应CSS:

.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

使用uniapp的scroll-view组件

<scroll-view scroll-y class="scroll-view" @scroll="handleScroll">
  <view class="search-box" :style="{position: isFixed ? 'fixed' : 'static'}"></view>
  <!-- 其他内容 -->
</scroll-view>

注意事项

  • 在iOS设备上,position: sticky可能存在兼容性问题,建议增加-webkit-sticky前缀
  • 吸顶时需要考虑状态栏高度,避免被遮挡
  • 在NVUE环境下需要使用专有的sticky属性实现吸顶效果

完整示例代码

uniapp搜索框吸顶

<template>
  <view>
    <view class="search-box" :class="{'fixed': isFixed}">
      <input type="text" placeholder="搜索内容" />
    </view>
    <view class="content">
      <!-- 页面内容 -->
    </view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      isFixed: false
    }
  },
  onPageScroll(e) {
    this.isFixed = e.scrollTop > 0
  }
}
</script>

<style>
.search-box {
  height: 100rpx;
  background: #fff;
  display: flex;
  align-items: center;
  padding: 0 30rpx;
}

.search-box.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  box-shadow: 0 2rpx 10rpx rgba(0,0,0,0.1);
}

.content {
  padding-top: 100rpx; /* 防止内容被遮挡 */
}
</style>

标签: uniapp框吸顶
分享给朋友:

相关文章

uniapp应用市场

uniapp应用市场

uniapp应用市场概述 Uniapp作为跨平台开发框架,支持将代码编译到iOS、Android、Web及各类小程序平台。其应用市场(插件市场)是开发者获取扩展插件、模板、组件的重要资源库,涵盖UI组…

uniapp yuv

uniapp yuv

YUV 格式在 UniApp 中的应用 在 UniApp 中处理 YUV 格式数据通常涉及视频编解码、图像处理或摄像头数据采集。YUV 是一种颜色编码系统,常用于视频传输和图像处理,与 RGB 格式相…

uniapp探探

uniapp探探

uniapp实现探探滑动卡片效果 探探的滑动卡片效果主要包含卡片堆叠、左右滑动操作、动画反馈等功能。在uniapp中可以通过以下方式实现类似交互: 使用swiper组件实现基础滑动 uniapp的s…

uniapp市场库

uniapp市场库

uniapp市场库概述 uniapp市场库通常指与uniapp开发框架相关的插件、模板、组件等资源的集合。这些资源可以帮助开发者快速构建跨平台应用,包括小程序、H5、App等。市场库中的内容由社区开发…

uniapp 跟随键盘

uniapp 跟随键盘

uniapp 键盘弹出时调整布局的方法 在 uniapp 中实现页面内容跟随键盘弹出调整布局,可通过以下方式实现: 监听键盘高度变化 使用 uni.onKeyboardHeightChange 监听…

uniapp下拉换图

uniapp下拉换图

uniapp下拉换图实现方法 监听页面滚动事件 在页面中监听onPageScroll事件,获取滚动位置。当滚动到特定位置时触发换图逻辑。 onPageScroll(e) { if(e.sc…