<div :class="header == true ? 'search-box' : 'search-box1'" :style="{ width: $store.getters.contractNum == 2 ? '100%' : '' }"> <div class="slide"> <div> <span class="all_text" @click="cleanUpEvt">All</span> <!-- <el-input v-model="checkInput" style="width: 120px" size="mini" @focus="searchLabel1Evt" placeholder="标签查询" clearable @clear="clearEvt1"></el-input> --> <el-input v-model="frontOrderInput" style="width: 120px" @change="frontOrderEvt" size="mini" placeholder="ID查询" clearable @clear="clearEvt2"></el-input> <el-input v-model="authorInput" style="width: 120px" size="mini" @change="authorEvt" placeholder="选择作者" clearable @clear="clearEvt3"></el-input> <el-date-picker v-model="value2" style="width: 240px" type="daterange" @change="timeEvt" :picker-options="pickerOptions" size="mini" format="yyyy-MM-dd" value-format="yyyyMMdd" range-separator="" start-placeholder="开始日期" end-placeholder="结束日期" align="right"> </el-date-picker> </div> </div> </div> 如何实现 hader隐藏后出现时 slide中的内容随着 hander 同步并以动画展开的形式出现
时间: 2023-07-06 15:34:37 浏览: 88
可以通过Vue的过渡动画来实现header隐藏后slide中内容的动态展示。具体实现方法如下:
1. 在组件中添加transition标签,设置name属性为"slide",mode属性为"in-out"。
2. 在transition标签中添加包裹slide内容的div标签,并设置enter-active-class和leave-active-class属性为"animated slideInRight"和"animated slideOutRight",表示进入和退出时的动画效果。
3. 在包裹slide内容的div标签中,使用v-show指令来控制显示和隐藏,值为header的值。同时,添加transition属性,设置name为"slide",表示在过渡动画中使用这个名称。
代码示例:
```
<transition name="slide" mode="in-out">
<div class="slide-wrapper" :class="{active: header}">
<div class="slide">
<!-- slide中的内容 -->
</div>
</div>
</transition>
```
CSS样式示例:
```
.slide-enter-active, .slide-leave-active {
transition: all 0.3s ease-out;
}
.slide-enter, .slide-leave-to {
transform: translateX(100%);
}
.slide-leave, .slide-enter-to {
transform: translateX(-100%);
}
.active {
transform: translateX(0);
}
```
这样,当header为true时,slide-wrapper的active类会被添加,从而展示slide内容,并且使用过渡动画来实现动态效果。
阅读全文