面向对象tab栏切换案例 (有错有错求指教)

本文介绍了一个使用面向对象编程实现的前端Tab栏切换案例。功能包括点击切换、添加和删除Tab项以及内容项的双击编辑。通过分析类的基本架构和关键要点,详细阐述了如何使用insertAdjacentHTML等方法提高效率。遇到代码运行错误,作者寻求帮助。
摘要由CSDN通过智能技术生成

1. 面向对象案例

1.1 功能需求

  • 点击tab栏可以切换效果;

  • 点击+号,可以添加tab项和内容项:
        1. 创建新的选项卡 li 和新的内容 section.
        2. 把创建的两个元素追加到对应的父元素中.
        3. 以前的做法:动态创建元素 createElement,但是元素里面内容较多,需要innerHTML赋            值在 appendChild 追加到父元素里面.
        4. 现在高级做法:用 insertAdjacentHTML() 可以直接把字符串格式元素添加到父元素中.        5. appendChild 不支持追加字符串的子元素, insertAdjacentHTML() 支持追加字符串的子          元素

  • 点击x号,可以删除当前的tab项和内容项;

  • 双击tab项文字或者内容项文字,可以修改里面的文字内容:                                                         1. 双击选项卡 Ii 或者 section 里面的文字,可以实现修改功能                                               2. 双击事件是:ondblclick                                                                                                       3. 如果双击文字,会默认选定文字,此时需要双击禁止选中文字                       4.window.getSelection?                      window.getSelection().removeAllRanges():document.selection.empty()  ;                               5. 核心思路:双击文字的时候,在里面生成一个文本框,当失去焦点或者按下回车然后把文       本框输入的值给原先元素即可

抽象对象:tab对象

  1. 该对象具有切换功能
  2. 该对象具有添加功能:
  3. 该对象具有删除功能
  4. 该对象具有修改功能

1.2 分析

1.2.1 类的基本架构

class Tab {
    constructor(id) {
        // 获取相关元素节点
        // 根据传入的id选择器构建主节点
        this.main = document.querySelector(id);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值