vue结合element ui实现文字消息上下无缝滚动切换

最近项目里需要个消息翻滚一条条出现的效果,如下图:
在这里插入图片描述
正在用原生js操作的时候,突然想起element ui有个走马灯(Carousel),这个走马灯可以实现前端比较常用的轮播效果,那肯定也能实现这个功能消息无缝翻滚出现的功能。
话不多说,下面放代码:
html部分:

<!--我这个需求是有消息时才会让这个功能显示,所以使用了v-if-->
<div class="bs-sysMsg" v-if="systemMsg.length > 0">
    <i class="el-alert__icon el-icon-warning"></i>
    <div class="msg__content">
        <el-carousel height="20px" direction="vertical" indicator-position="none" :autoplay="true">
            <el-carousel-item v-for="item in systemMsg" :key="item.id">
                <a href="javascript:void(0)" class="item">{{item.title}}</a>
            </el-carousel-item>
        </el-carousel>
    </div>
</div>

解释下上面的重点:
1、element ui的走马灯direction 默认为 horizontal(横向切换),通过设置 direction 为 vertical 来让走马灯在垂直方向上切换;
2、指示器的位置indicator-position设置为none,不显示指示器;
3、设置autoplay为true,让自动切换,可不设置,默认就是true。

data部分:

data(){
	return{
		// 滚屏消息
        systemMsg: [
            {id:1,title:'入主白宫近10日 拜登做了10件大事'},
            {id:2,title:'全民带货?小红书外链淘宝权限将大范围开放'},
            {id:3,title:'贾跃亭FF将在纳斯达克上市 股票代码为FFIE'}
        ],
	}
}

好人做到底,再把css部分贴上来,直接可完美测试
css部分:

/*轮翻消息*/
.bs-sysMsg {
    position: relative;
    display: flex;
    width: 100%;
    padding: 8px 12px;
    margin-bottom: 10px;
    border-radius: 2px;
    color: #e6a23c;
    background-color: #fdf6ec;
    overflow: hidden;
    opacity: 1;
    align-items: center;
    transition: opacity .2s;
}
.bs-sysMsg .msg__content {
    display: table-cell;
    padding: 0 8px;
    width: 100%;
}
.bs-sysMsg .msg__content a.item {
    color: #e6a23c;
    font-size: 14px;
    opacity: 0.75;
}
.bs-sysMsg .msg__content a.item:hover{text-decoration: underline;}

好了,就上面这么多,如果点击消息还有详情,可以给a标签加链接,跳转到详情页面。
有没有超简单,什么一大对js控制都弱爆了。

新博客,坚持原创码字,辛苦分享给点个赞鼓励下可好。

  • 18
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
你可以使用Vue框架结合Element UI组件来实现查询表单。Vue是一个用于构建用户界面的渐进式JavaScript框架,而Element UI是一个基于Vue的组件库,提供了丰富的UI组件和样式。 首先,你需要安装VueElement UI。可以通过npm或者yarn来进行安装。 ```shell npm install vue npm install element-ui ``` 接下来,在你的Vue项目中,你需要在入口文件中引入VueElement UI,并注册Element UI的组件。 ```javascript import Vue from 'vue' import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' Vue.use(ElementUI) ``` 然后,你可以在你的组件中使用Element UI的组件来构建查询表单。例如,你可以使用`el-form`和`el-input`组件来创建一个简单的查询表单。 ```html <template> <div> <el-form :model="form" label-width="80px"> <el-form-item label="关键词"> <el-input v-model="form.keyword"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm">查询</el-button> </el-form-item> </el-form> </div> </template> <script> export default { data() { return { form: { keyword: '' } } }, methods: { submitForm() { // 在这里处理表单提交逻辑 } } } </script> ``` 以上代码展示了一个简单的查询表单,包含一个输入框和一个查询按钮。你可以根据自己的需求进行组件的选择和配置,以实现更复杂的查询功能。 希望这个例子能帮助你开始使用Vue框架结合Element UI组件来实现查询表单。如果你有任何其他问题,请随时提问!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值