Fix(AI):[#3595]热门词条轮播方式使用配置

This commit is contained in:
lifizer
2025-04-09 11:47:40 +08:00
parent fd4adbf383
commit 4810aa7e33
2 changed files with 163 additions and 4 deletions
+16 -4
View File
@@ -54,7 +54,13 @@
/> />
</view> </view>
<view class="list-wrap"> <view class="list-wrap">
<view class="list-cont"> <view
:style="{
'width': animationWidth,
'animation': animationStr
}"
class="list-cont"
>
<view <view
v-for="(item, index) in topicList" v-for="(item, index) in topicList"
:key="index" :key="index"
@@ -245,6 +251,8 @@ export default {
mixins: [chatMixins], mixins: [chatMixins],
data() { data() {
return { return {
animationWidth: '150%',
animationStr: '',
settingInfo: {}, settingInfo: {},
topicList: [] topicList: []
} }
@@ -257,6 +265,8 @@ export default {
const { success, data } = res const { success, data } = res
if (success) { if (success) {
this.settingInfo = data this.settingInfo = data
this.animationWidth = `${data.systemTopicDivMaxWidth * 750}rpx`
this.animationStr = `TranslateXSwiper-${data.systemTopicDivMaxWidth * 10} ${data.systemTopicDivScrollDuration}s infinite linear alternate`
} }
}) })
getAiSystemInfoTopic().then(res => { getAiSystemInfoTopic().then(res => {
@@ -388,18 +398,20 @@ export default {
.icon { .icon {
display: flex; display: flex;
width: 40rpx; width: 40rpx;
height: 32rpx;
} }
} }
.list-wrap { .list-wrap {
width: 100%; width: 100%;
padding: 0 0 0 20rpx;
margin: 60rpx 0 0 0; margin: 60rpx 0 0 0;
overflow-x: hidden; overflow-x: hidden;
.list-cont { .list-cont {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
width: 150%; width: 750 * 1.5rpx;
animation: translateXSwiper 10s infinite linear alternate; padding: 0 0 0 24rpx;
box-sizing: border-box;
// animation: translateXSwiper 10s infinite linear alternate;
.list-item { .list-item {
display: flex; display: flex;
align-items: center; align-items: center;
+147
View File
@@ -672,6 +672,153 @@ page {
opacity: 0.0; opacity: 0.0;
} }
} }
/*==================首页跑马灯效果动画====================*/
// todo:用循环函数生成存在语法报错At-rule options not recognised,后期再仔细阅读官方文档,解决@keyframes关键字问题
@keyframes TranslateXSwiper-15 {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-750 * 0.5rpx);
}
}
@keyframes TranslateXSwiper-20 {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-750 * 1rpx);
}
}
@keyframes TranslateXSwiper-25 {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-750 * 1.5rpx);
}
}
@keyframes TranslateXSwiper-30 {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-750 * 2rpx);
}
}
@keyframes TranslateXSwiper-35 {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-750 * 2.5rpx);
}
}
@keyframes TranslateXSwiper-40 {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-750 * 3rpx);
}
}
@keyframes TranslateXSwiper-45 {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-750 * 3.5rpx);
}
}
@keyframes TranslateXSwiper-50 {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-750 * 4rpx);
}
}
@keyframes TranslateXSwiper-55 {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-750 * 4.5rpx);
}
}
@keyframes TranslateXSwiper-60 {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-750 * 5rpx);
}
}
@keyframes TranslateXSwiper-65 {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-750 * 5.5rpx);
}
}
@keyframes TranslateXSwiper-70 {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-750 * 6rpx);
}
}
@keyframes TranslateXSwiper-75 {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-750 * 6.5rpx);
}
}
@keyframes TranslateXSwiper-80 {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-750 * 7rpx);
}
}
@keyframes TranslateXSwiper-85 {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-750 * 7.5rpx);
}
}
@keyframes TranslateXSwiper-90 {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-750 * 8rpx);
}
}
@keyframes TranslateXSwiper-95 {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-750 * 8.5rpx);
}
}
@keyframes TranslateXSwiper-100 {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-750 * 9rpx);
}
}
.loader-wrap { .loader-wrap {
transform: scale(1); transform: scale(1);
} }