今回は、VUE で anmate.css を使用する方法と、VUE で anmate.css を使用する際の注意点について説明します。以下は実際のケースです。
注:
1. ajax がデータをリクエストした後、まず res によって返されるデータに anmate = false 属性を追加します。決して this.planData = res.lists ではありません
次に、便利なループのために anmate 属性を this.planData に追加します。そうしないと、データが更新された後にビュー レイヤーが更新されません。
2. 次のようにコードを直接出力します。
</h5> <pre class="brush:php;toolbar:false"> <template> <div id="JiaoXueJiHuaIndex"><div class="row"><div class="col-md-12"> <div :class="{'JiaoXueJiHuaDiv':true,'animated':true,'swing':item.anmate}" v-for="(item,index) in planData" @mouseover="enter(index,item)" @mouseout="leave(index)" @click.stop="hrefPlanIfo(item)"> <div class="JiaoXueJiHuaDiv-top"> ![](classImg) </div> <div class="JiaoXueJiHuaDiv-bottom"> <h3 style="padding: 0;">{{item.teachPlanName}}</h3> <p> ![](../../../../static/img/jiangshi.png) <span>开始时间:</span> <span v-text="item.beginTime.substr(0,16)"></span> <span class="pull-right">共{{item.trainingCycle}}个课</span> </p> </div> </div> <!--添加--> <div style="border:none;" v-if="quanXianFlag == 'manager'" id="addWrap" class=" JiaoXueJiHuaDiv" @click.stop="jumpAddPage"> <div class="JiaoXueJiHuaDiv-top " style="height:230px;text-shadow: 3px 3px 3px #999;line-height: 230px;font-size: 60px;text-align: center;"> <Icon class="rotation" type="plus-round" style="font-size:90px;color:#78cddc;"></Icon> </div> </div> </div></div> </div> </template>//网站原因 无法写 srcipt 和 style标签 //script export default {name: 'JiaoXueJiHuaIndex',data() {return { classImg: '../../../../static/img/class_03.jpg', planData: [], quanXianFlag: window.sessionStorage.getItem("_quanXian"), //获取当前用户是老师还是学生 classMsgLists: [], show: false }},methods: { loadPlanTable() { const _this = this; this.$Loading.start();//进度条 $.ajax({ async: true, type: "POST", url: '/CRPTP/a/teachplan/teachPlan/teachPlanList', dataType: "JSON", success: function (data) { $.each(data.list, function (index, item) { item.anmate = false; }); _this.planData = data.list; _this.$Loading.finish(); }, error: function () { _this.$Loading.error(); } }); }, hrefPlanIfo(item) { this.$router.push({path: '/plan/JiaoXueJiHuaXx', query: {teachPlanId: item.id}}) }, jumpAddPage(){ this.$router.push({path: '/plan/addTeachingPlan'}) }, enter: function (index, item) { item.anmate = true; }, leave: function (index) { this.planData[index].anmate = false; }},mounted() { this.loadPlanTable();} } //style @-webkit-keyframes rotation{from {-webkit-transform: rotate(0deg);}to {-webkit-transform: rotate(360deg);}} addWrap:hover .rotation{ -webkit-transform: rotate(360deg);animation: rotation 0.5s linear infinite;-moz-animation: rotation 0.5s linear infinite;-webkit-animation: rotation 0.5s linear infinite;-o-animation: rotation 0.5s linear infinite; } JiaoXueJiHuaIndex { overflow: hidden;.JiaoXueJiHuaDiv { width: 29%; float: left; margin: 2%; box-shadow: 0 0 5px #aaa; border-bottom: 4px solid #FCAF49; cursor: pointer; div.JiaoXueJiHuaDiv-top { width: 100%; height: 150px; box-shadow: 2px 2px 2px #eee; img.jxjhTitle { width: 100%; height: 100%; } img.jxjhJqqd { display: block; position: relative; top: 45%; margin: 0 auto; } } div.JiaoXueJiHuaDiv-top:hover { } div.JiaoXueJiHuaDiv-bottom { padding: 0 10px; color: #8c8c8c; h3 { padding: 5px 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } img { margin-right: 10px; } }}.JiaoXueJiHuaDiv:hover { div.JiaoXueJiHuaDiv-bottom { // color: #fb4f6d; }}.JiaoXueJiHuaR { border: 1px solid #eee; box-shadow: 2px 2px 2px #eee; padding: 20px; margin-top: 20px; width: 70%; img { width: 100%; height: 100%; }}a:hover { text-decoration: none;} }
この記事の事例を読んだ後は、この方法を習得したと思います。 PHP 中国語 Web サイトの他の関連記事にも注目してください。
関連記事:
js 配列内の false、null、0、""、未定義、および NaN 値をフィルターで除外する方法
table tr th そしてtable tr tdのフォントが多すぎますCSSで解決する方法
以上がVUE による anmate.css の使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。