一个按钮对多个div进行显隐切换

<html>
<head>
    <meta charset="UTF-8">
    <title>隐藏和显示</title>
    <script src="js/jquery-1.11.3.min.js"></script>
</head>
<body>
<div id='d1' style='display:block;width:30px;height:20px;background-color:red'></div>
<div id='d2' style='display:none;width:30px;height:20px;background-color:blue'></div>
<div id='d3' style='display:none;width:30px;height:20px;background-color:yellow'></div>
<input type=button value="Toggle" onclick='toggleDiv()'>
<script>
    // 全局变量
    var divs=[];
    var divCnt = 3; //div 数量
    for (var i=0;i<divCnt;i++) {
        divs[i] = document.getElementById("d"+(i+1));
    }
    var selectedDiv = 0;
    function toggleDiv(){
        selectedDiv++;
        selectedDiv = selectedDiv % divCnt; //
        for (var i=0;i< divCnt;i++) {
            divs[i].style.display="none";
        }
        divs[selectedDiv].style.display="block";
    }
</script>
</body>
</html>

 

在Vue3中,实现一个父页面的弹窗功能通常涉及到组件的父子通信以及状态管理。以下是简单的实现逻辑: 1. **创建组件**: - 创建一个独立的弹窗组件,比如`Modal.vue`,它将包含显示和关闭的逻辑。 ```vue <template> <div class="modal" v-if="isShowing"> <!-- 弹窗内容 --> <slot></slot> <button @click="close">关闭</button> </div> </template> <script> export default { props: { title: { type: String, required: true, }, content: { type: String, required: true, }, onClose: { type: Function, default: () => {}, }, }, data() { return { isShowing: false, }; }, methods: { show() { this.isShowing = true; }, close() { this.isShowing = false; this.onClose(); }, }, }; </script> ``` 2. **父组件引用**: - 在父组件(例如`ParentComponent.vue`)里引入弹窗组件,并传递所需参数。 ```vue <template> <button @click="showModal('标题', '内容')">打开弹窗</button> <Modal v-model="modalIsShowing" :title="modalTitle" :content="modalContent" @on-close="handleClose"></Modal> </template> <script> import Modal from './Modal.vue'; export default { components: { Modal, }, data() { return { modalTitle: '', modalContent: '', modalIsShowing: false, }; }, methods: { showModal(title, content) { this.modalTitle = title; this.modalContent = content; this.modalIsShowing = true; }, handleClose() { this.modalIsShowing = false; // 关闭弹窗 }, }, }; </script> ``` 3. **控制显示与隐藏**: - 父组件通过`v-model`绑定`modalIsShowing`来控制弹窗是否显示,点击按钮调用`showModal`方法开启弹窗,关闭则触发`handleClose`方法。 4. **传参**: - 通过`props`属性将标题和内容传递给弹窗组件,当需要更改内容时,只需修改相应的属性即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值