商业级web阅读器项目(下下下)

7-2.书架搜索框交互实现(上)

向下滑动屏幕时的交互细节分析

标题和推荐图标向下渐渐隐藏。
搜索框向上移动到标题位置。
搜索框逐渐变窄以适应屏幕。
返回按钮向下居中。
标题下方显示阴影。
用titleVisible来控制标题的显示

7-3 书城首页(标题+搜索框布局)

在这里插入图片描述
界面效果如图’

<template>
    <div class="search-bar" :class="{
    'hide-title':!titleVisible}">
        <transition name="title-move">
            <div class="search-bar-title-wrapper" v-show="titleVisible">
                <div class="title-icon-back-wrapper"><span class="icon-back icon"></span></div>
                <div class="title-text-wrapper"><span class="title-text title">{
  {$t('home.title')}}</span></div>
                <div class="title-icon-shake-wrapper"><span class="icon-shake icon"></span></div>
            </div>
        </transition>
        <div class="search-bar-input-wrapper">
            <div class="search-bar-input">
                <span class="icon-search icon"></span>
                <input type="text"
                       class="input"
                       :placeholder="$t('home.hint')"
                       v-model="searchText"
                >
            </div>
        </div>
    </div>
</template>

<script>
    import {
    storeHomeMixin} from "../../utils/mixin";

    export default {
    
        name: "SearchBar",
        mixins:[storeHomeMixin],
        data(){
    
            return{
    
                searchText:'',
                titleVisible:true
            }
        },
        watch:{
    
            offsetY(offsetY){
    
                if (offsetY>0){
    
                    this.hideTitle();
                } else {
    
                    this.showTitle();
                }
            }
        },
        methods:{
    
            hideTitle(){
    
                this.titleVisible = false;
            },
            showTitle(){
    
                this.titleVisible = true;
            }
        }
    }
</script>

<style scoped lang="scss">
    @import "./../../assets/styles/global";
    .search-bar{
    
        z-index: 150;
        position: relative;
        width: 100%;
        height: px2rem(94);
        &.hide-title{
    
            height: px2rem(52);
        }
     
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值