位置: 编程技术 - 正文

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题)

  • 农业免税收入怎么填纳税申报表
  • 先申报财务报表还是企业所得税汇算清缴
  • 佣金交税吗
  • 单位购买理财产品需要什么手续
  • 发票红票和退票区别在哪
  • 稿费计入成本怎么做账
  • 劳务分包和劳务外包
  • 税费漏报
  • 个人劳务费增值税如何缴纳
  • 产品报废怎么做账
  • 白条入账所得税怎么做纳税调曾
  • 未竣工验收导致发生质量问题由谁承担责任
  • 冲销暂估入账原材料的会计分录
  • 计划成本材料采购明细账一般采用的格式是什么
  • 前程无忧靠什么赚钱
  • 实际报销人是什么意思
  • 合并利润表抵消事项包括
  • 2020退税时间超过了怎么办
  • 出口退税收入凭证怎么填
  • 纳税人转让2016年以后的土地使用权
  • 企业法人和股份的关系
  • 个人转让无形资产增值税税率
  • 财务管理和会计学哪个好就业
  • 微信支付宝余额为零的表情包
  • 没有实缴的股份转让要交个人所得税吗
  • 备注栏需要写内容嘛
  • 以非现金资产清偿全部债务
  • 完税证明和纳税申报表是一种东西吗
  • php中字符串函数
  • 赠送积分有两种形式
  • php中??
  • kernl32.dll
  • 其他货币资金明细账填写样本
  • 阿里云jar包
  • 银行承兑汇票贴现怎么算
  • 进项税额的账务处理
  • 投资公司收到境外债务
  • 一般纳税人企业所得税多久申报一次
  • html做超链接
  • laravel 分页 api
  • 对方代垫保险费算不算入账价值
  • 百度地图定位不更新
  • 交易性金融资产属于流动资产
  • 最新税法规定小车折旧年限
  • 需要计提坏账准备吗
  • 内账增值税计入什么科目
  • 织梦cms不更新了吗
  • sql server 2005安装在2016
  • mongodb如何查询数据
  • 融资租赁的固定资产
  • 购进商品的运费怎么记账
  • 售后服务费计提政策
  • 未确认融资费用账务处理
  • 收到三代手续费的增值税报表填列在哪里
  • 研究开发费用加计扣除最新政策
  • 应收票据周转率公式
  • 下脚料属于什么科目
  • 向银行借的款属于什么会计要素
  • 塔吊租赁和购买的区别
  • 收入纳税明细里的收入和实际不符
  • 审核通过的红字信息表可以删除吗
  • 贷款买车成功后,给客户什么手续
  • 进项税额转出科目编码
  • windows xp系
  • wrme.exe是什么
  • mac ios应用
  • windows1021h1新功能
  • 怎么查看自己mac电脑有没有被人使用过
  • linux 文件查看
  • windows打补丁后无法启动
  • win7系统监控
  • win7旗舰版系统激活密钥
  • js内存释放
  • python的异常处理语句
  • unity怎么写接口
  • 创建简单的Web网页实验总结ASP
  • adb工具使用说明文档下载
  • js实现vue
  • 电子税务局无法显示抵扣发票
  • 物业收取水电费的通知范文
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设