vue.js - 在 Vue Js 中创建交互时间线
问题描述
我正在 Vue.js 中创建一个交互式时间轴并设置了一个基本代码。当前发生的情况是,当您选择一年时,内容会显示,但要使其消失,您需要再次单击它。
我正在尝试做的是在您单击另一年时使上一年的内容消失。我创建的 Codepen 链接如下:
如您所见,我的 Vue JS 代码有不同的设置来显示数据。
var vue = new Vue({
el:"#app",
data: {
nowShowing: false,
nowShowing2: false,
nowShowing3: false,
nowShowing4: false,
isShowing:false,
message: 'test1',
message2: 'test2',
message3: 'test3',
message4: 'test4',
message5: 'test5',
}});
然后进入 HTML 你有一个按钮类
<button class="c-History__year" @click="isShowing ^= true">1880</button>
和 div 类:
<div v-show="isShowing">
<p class="c-History__summary">
{{message}}
</p>
</div>
这可以在 Vue 中通过转换完成还是 CSS 就足够了?
解决方案
我已经将所有isShowing
变量捆绑到一个中,并且 div 现在正在寻找isShowing
var 是否具有特定数字,以及何时会显示 div 而隐藏所有其他变量。
JS:
const vue = new Vue({
el:"#app",
data: {
showing: -1,
message: 'test1',
message2: 'test2',
message3: 'test3',
message4: 'test4',
message5: 'test5',
},})
HTML:
<div id="app">
<div class="o-Container o-Container--padded">
<div class="c-History">
<div class="c-History__timeline">
<div class="c-History__years">
<span class="c-History__line"></span>
<button class="c-History__year" @click="showing = 0">1880</button>
<button class="c-History__year" @click="showing = 1">1938</button>
<button class="c-History__year" @click="showing = 2">1971</button>
<button class="c-History__year" @click="showing = 3">1982</button>
<button class="c-History__year" @click="showing = 4">2007</button>
</div>
</div>
</div>
<transition name="bounce">
<div v-show="showing == 0">
<p class="c-History__summary">
{{message}}
</p>
</div>
</transition>
<transition name="bounce">
<div v-show="showing == 1">
<p class="c-History__summary">
{{message2}}
</p>
</div>
</transition>
<transition name="bounce">
<div v-show="showing == 2">
<p class="c-History__summary">
{{message3}}
</p>
</div>
</transition>
<transition name="bounce">
<div v-show="showing == 3">
<p class="c-History__summary">
{{message4}}
</p>
</div>
</transition>
<transition name="bounce">
<div v-show="showing == 4">
<p class="c-History__summary">
{{message5}}
</p>
</div>
</transition>
</div>
</div>
</div>
推荐阅读
- python - python np.nan 和 '==' & 'is'
- swift - SceneKit 粒子系统未出现
- acumos - 未收到新 Acumos 用户注册时的验证电子邮件
- ruby-on-rails - 无法在 Internet Explorer 中打开从 Rails 应用程序下载的文件
- excel - 用powershell调用excel宏
- javascript - 如何通过 iziModal 在多个画廊中使用 iFrame?
- elasticsearch - 可视化和分析来自 Kafka 的数据
- javascript - 奇怪的 XPath 行为
- kubernetes - 将 GCP 节点区域值注入 Nginx 入口控制器以进行区域感知路由
- java - 为什么我需要为与 IBM MQ 的 SSL 连接同时提供密钥库和信任库