######我想做一个像青年大学习那样的页面,点击页面上的开始答题,就能切换到下一张,并且在下一张中可以输入文字
回答:有挑战性呐,就是这个页面没办法写的那么好看,毕竟得花时间调;简单写了一下之后是这样:
打开新图片,可以通过将元素的src属性进行修改,或者修改哪个元素的背景图片之类的;
实际上那些题目是一些文本框和按钮组成的,不是直接的文字,不然元素也太难控制了;然后对题目进行切换到下一道也非常简单,因为题目是保存为json对象组成的对象里面的,只需要进行下标的移动即可;
至于这个修改背景图片就没写了,可以通过js获取元素的style样式,然后修改即可
代码如下:
<template>
<div id="app">
<div class="container">
<h4>A: {{data[index].A}}</h4>
<h4>B: {{data[index].B}}</h4>
<h4>C: {{data[index].C}}</h4>
<h4>D: {{data[index].D}}</h4>
<el-button class="next-button" @click="nextQuestion">下一题</el-button>
</div>
</div>
</template>
<script>
import { ref } from '@vue/reactivity';
export default {
name: "App",
components: {},
setup(){
const data = [
{
A: '今天天气很好',
B: '今天心情很好',
C: '今天运气很好',
D: '今天胃口很好'
},
{
A: '今天天气非常好',
B: '今天心情非常好',
C: '今天运气非常好',
D: '今天胃口非常好'
}
]
let index = ref(0)
function nextQuestion(){
index.value = (index.value + 1) % data.length
}
return {
data,
index,
nextQuestion
}
}
};
</script>
<style>
* {
padding: 0;
margin: 0;
border: none;
outline: none;
}
.container {
background-image: url('@/static/img/background.png');
width: 480px;
height: 600px;
margin: 20px auto;
text-align: center;
}
.container h4 {
font-size: 30px;
margin-bottom: 60px;
}
.container:first-child {
padding-top: 100px;
}
.next-button {
width: 300px;
height: 70px;
font-size: 20px;
}
</style>
是采用Vue3+element-ui-plus ,主要是一个按钮,你也可以自己写一个按钮
这种比较简单,使用css和js控制就好了。