uni-app 24小时时间线展示插件需求

发布于 1周前 作者 yuanlaile 来自 Uni-App

uni-app 24小时时间线展示插件需求

24小时时间线展示

2 回复

承接双端(Android,iOS)原生插件开发,uni-app外包开发。欢迎咨询
QQ:1559653449 V X:fan-rising


在uni-app中实现24小时时间线展示插件,你可以使用Vue.js和uni-app的组件机制来完成。以下是一个简单的示例,展示如何创建一个24小时时间线组件。

首先,创建一个新的组件文件,例如Timeline24Hours.vue

<template>
  <view class="timeline-container">
    <view
      v-for="(hour, index) in hours"
      :key="index"
      class="timeline-hour"
      :style="{ left: `${(index + 1) * (100 / 24)}%` }"
    >
      {{ hour }}
    </view>
    <view class="timeline-line"></view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      hours: Array.from({ length: 24 }, (_, i) => i + 1).map(String)
    };
  }
};
</script>

<style scoped>
.timeline-container {
  position: relative;
  width: 100%;
  height: 50px; /* 你可以根据需要调整高度 */
  background-color: #f0f0f0;
}

.timeline-line {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #ccc;
  transform: translateY(-50%);
}

.timeline-hour {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px; /* 你可以根据需要调整宽度 */
  text-align: center;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 50%;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
</style>

在你的页面中使用这个组件,例如在pages/index/index.vue中:

<template>
  <view>
    <Timeline24Hours />
  </view>
</template>

<script>
import Timeline24Hours from '@/components/Timeline24Hours.vue';

export default {
  components: {
    Timeline24Hours
  }
};
</script>

<style>
/* 你可以在这里添加页面的全局样式 */
</style>

这个示例展示了一个简单的24小时时间线,每个小时用一个圆圈表示,并且有一条线贯穿整个时间线。你可以根据具体需求对样式和功能进行进一步的扩展,比如添加点击事件、高亮特定时间段等。

注意,这只是一个基础示例,你可能需要根据实际需求进行更多的定制和优化。例如,你可以通过计算时间差来高亮显示当前时间或某个特定时间段,也可以添加更多的样式和动画效果来提升用户体验。

回到顶部