位置: 编程技术 - 正文

JavaScript tab选项卡插件实例代码(js tab选项卡)

编辑:rootadmin

推荐整理分享JavaScript tab选项卡插件实例代码(js tab选项卡),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js tab切换效果,js tabs,js tab页面切换,js中tab栏切换,jquery tab选项卡,js中tab栏切换,js中tab栏切换,js中tab栏切换,内容如对您有帮助,希望把文章链接给更多的朋友!

今天,先从最简单的开始,将已有的一个Tab选项卡切换功能改写成javascript插件形式。

原生函数写法

将一个javascript方法改写为js插件最简单的方式就是将这个方法挂载到window全局对象下面

我们先来看看最原始的使用函数写法的代码:

tab.html

h.css

上面两份代码为基本代码,之后我们后一步步在这份代码的基础上进行改进。

原生插件写法

好,现在,我们就来将这个方法改写成挂载在window对象下的插件:

tab.html

h_tabs.js

但是,我们发现这样的写法虽然很简单,但也有问题:window作为一个全局对象,如果我们把自己的方法都挂载到它下面作为插件使用的话,插件一多,就容易产生命名空间冲突,另一方面,使用原生js虽然可以减少对外部的依赖,但代码量相对还是很大,写法比较繁琐。

jquery写法

我们尝试引入jquery库,将此插件改写为jquery插件。

jquery插件有三种形式:类级别的形式,对象级别的形式,jquery UI组件的形式

jquery 类级别插件写法?单个方法

我们先来看类级别插件的形式。

第一种类级别插件的形式,直接把该方法挂载到jquery的根空间下,作为一个工具方法:

tab.html

h_tabs.js

jquery类级别插件写法-多个方法

如果你想要将多个方法绑定到jquery根空间上面,那么像下面这样写:

tab.html

JavaScript tab选项卡插件实例代码(js tab选项卡)

h_tabs.js

虽然使用$.extend()工具方法将自己的功能函数直接挂载到jquery根命名空间下,简单,省事儿,但很不幸的是,这样的方式不能利用jquery强大的sizzle引擎,即你选择到的DOM元素无法运用这个方法。

所以我们要用到对象级别的插件开发方式。

jquery对象级别插件写法

对象级别的插件开发方式是利用$.fn.extend()方法将自己的方法绑定到jquery原型上去,这样所有jquery对象队可以应用该方法来执行相应操作了

代码如下:

tab.html

h_tabs.js

这里,我们利用一个闭包封装了插件,避免了命名空间污染

在这里,还有一些问题,就是我们的方法必须传参数才可以运行,这就导致调用的时候我们使用$(‘#tab')选择了id为tab的div,然后在插件里我们又根据传入的ID获取了一遍该元素。

既然我们已经使用了jquery的选择器,那么我们就可以引入this来解决重复获取元素的冗余问题。

jquery对象级别插件写法-引入this

tab.html

h_tabs.js

这里需要注意的是,我们调用该插件的元素对象是(′tab′),则此时直接使用this.find()就等价于(‘tab').find(),而不是$(this).find(),注意使用代入法来区分这两种写法的差别。

作为一款插件,它应该是可以被开发者控制的,所以还应该提供给使用者一些配置接口。

jquery对象级别插件写法-加入配置项

tab.html

我们这里把一开始的”当前选项卡标签样式类名称“由”cur“改为了”current“,并将其作为配置项传入插件

h.css

我们在样式表中做出了相应的改动。

h_tabs.js

在这里我们使用了jquery的$.extend()方法的合并对象的功能,使用用户传入的配置项覆盖默认配置项并最终合并到一个新的配置项供后面的程序使用。

以上所述是小编给大家介绍的JavaScript tab选项卡插件实例代码,希望对大家有所帮助!

javascript每日必学之封装 朋友们好,前面我们已经讲解了有关javascript的基础,从今天的内容开始,我们就要开始讲有关封装的内容了,这里,我们就一点一点地接触到OOP(面向

学习Javascript面向对象编程之封装 Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象。但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中

理解javascript封装 封装可以被定义为对对象的内部数据表现形式和实现细节进行隐藏。通过封装可以强制实施信息隐藏。在JavaScript中,并没有显示的声明私有成员的关键

标签: js tab选项卡

本文链接地址:https://www.jiuchutong.com/biancheng/380415.html 转载请保留说明!

上一篇:Javascript技术栈中的四种依赖注入详解(web技术栈)

下一篇:javascript每日必学之封装(javascript题)

  • 代开专用发票需要交城建税吗
  • 稽查局和税务局的关系
  • 光盘税收分类编码是多少
  • 销售费用和管理费用和财务费用
  • 货物运费包含哪些项目
  • 党建经费可以用来干什么
  • 车船税是费用吗
  • 厂里搬厂赔偿员工标准
  • 房地产简易征收可以开专用发票吗
  • 出差怎么订机票
  • 会费要交增值税吗
  • 逆流交易合并报表抵消分录
  • 工程设备租赁带什么手续
  • 税负率过低进行什么交易
  • 委托、受托出口做账有哪些事项?
  • 水利建设专项收入
  • 这几点政府补助会计新准则值得关注
  • 通用机打发票能报销不
  • 小规模纳税人免征增值税怎么记账
  • 现代服务业如何提升为人民服务
  • 法人股东转让股权涉税
  • 留存收益转增股本,另一方公司怎么做账
  • 公司如何为员工缴纳社保
  • 盘盈现金计入当期损益
  • 企业银行承兑汇票
  • 退回的企业所得税如何在报表中显示
  • win11 应用商店
  • macbook无法调节音量
  • 付款后收到发票怎么写摘要
  • php有很多流行的mvc框架,这些框架可以
  • linuxssh免密登录
  • 销售佣金在所得税里扣吗
  • 融资性售后回租承租方为什么不交税
  • 详解php字符串替换
  • 在申报季度企业所得税时,残疾人工资可以加计扣除吗
  • 政府闲置土地
  • phpinfophp漏洞利用
  • 云霞下的麦田
  • 进项税额转出可以填负数吗
  • 白 犀牛
  • 倾向得分匹配后怎么进行回归
  • php如何解析json串内的数组
  • 厂房和设备折旧年限
  • 通用机打发票还能用吗
  • 费用报销做账分录
  • 知道商品的进价怎么定售价
  • 关于固定资产的说法
  • 付的房屋租金计入什么会计科目
  • 企业营业外收入要交所得税吗
  • 未达起征点增值税申报表怎么填
  • 转让股权收入属于收入总额吗
  • 没有发票意味着什么
  • 三个月 租房
  • 港币转人民币怎么算
  • 本月暂估入库,下月
  • 出口退税的会计分录为什么在贷方
  • 环境保护税法自什么时候起施行
  • 产品成本核算要求有哪几项
  • 出售固定资产清理的账务处理
  • 成本会计核算方法论文怎么写
  • 什么是加计扣除农产品进项税额
  • win7/win8.1/win10系统下如何配置Java环境变量 Java环境变量的配置教程介绍
  • 装xp系统鼠标键盘没有驱动
  • qdcsfs.exe - qdcsfs是什么进程 有何作用
  • win8.1使用教程
  • android搭建环境
  • javascript ajax的5种状态介绍
  • node.js document
  • perl计算时间差
  • using Net::SSH2 shell 的二个方法
  • node.js中fs模块
  • IE、FF、Chrome浏览器中的JS差异介绍
  • 深入了解工作优势怎么回答
  • javascript详细介绍
  • python中判断语句怎么写
  • Python 基于豆瓣电影的可视化
  • 重庆电子税务局网页版登录
  • 山东税务局电子税务局申报
  • 非贸付汇代扣代缴企业所得税
  • 广东个体户年报微信申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设