一、效果演示
二、完整代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<style>
input {
height: 30px;
line-height: 30px;
}
#inputDiv {
text-align: center;
}
#jbtn {
line-height: 30px;
}
p {
width: 100%;
padding: 5px;
}
</style>
</head>
<body>
<div id="jokeDiv">
<div id="inputDiv">
<input type="text" placeholder="请输入要获取的笑话数量" id="jcount" v-model="jcount">
<input type="button" value="获取随机笑话" @click="getJokes" id="jbtn">
</div>
<br>笑话内容:
<hr>
<p v-for="joke in jokes">{{joke}}</p>
</div>
</body>
<script>
new Vue({
el: "#jokeDiv",
data: {
jcount: 1,
jokes: [],
},
methods: {
getJokes() {
var t = this;
axios.get("https://autumnfish.cn/api/joke/list", { params: { "num": this.jcount } }).then(
function (response) {
t.jokes = response.data.jokes;
t.$nextTick(()=>{t.updatedColor()})
}, function (error) {
})
},
updatedColor() {
var colors = ['#FFCCCC', '#FFFF99', '#FFCC99', '#CCFF99', '#CCCCCC', '#FFFFCC', '#CCCCFF', '#99CCFF'];
var $plist = $("p")
$plist.each(function (index, element) {
var randomIndex = parseInt(Math.random() * colors.length);
console.log(element)
$(element).css("background-color", colors[randomIndex])
})
}
},
})
</script>
</html>
三、相关说明
- jquery中遍历时不能使用for of语法,因为jquery3才开始支持for of