热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jquery插件开发模式_使用模块模式的基本jQuery插件

jquery插件开发模式在这篇文章中,我将向您展示如何使用模块模式创建一个基本的jQuery插件,该插件可以与其他选项一起使用。模块模式的主要重点是保护

jquery插件开发模式

在这篇文章中,我将向您展示如何使用模块模式创建一个基本的jQuery插件,该插件可以与其他选项一起使用。 模块模式的主要重点是保护您的选项和方法,并提供一个可以在对象上使用的漂亮的公共API。 它通过将Object Literal语法与包含私有和公共对象名称空间的封装变量一起使用来实现此目的。 该插件是一个非常简单的解释示例,下面的演示为您提供了创建健壮的jQuery插件的基础知识。

相关文章:

  • 普通英语的jQuery函数名称间隔
  • 10种Javascript速记编码技术

You Tube视频插件

该插件的目的是创建不同的youtube视频实例,您可以为其指定标题和网址等选项。

basic-jquery-plugin

让我们看一下代码...


插件中使用了3个主要变量:priv(私有)保存私有API; Plugin(私有)保存公共API; defaults(缺省)保存默认的插件设置。

var priv = {}, // private APIPlugin = {}, // public API// Plugin defaultsdefaults = {id : '',name : '',url : ''};

存储在“默认值”中的默认插件设置将被新设置覆盖。 请记住,$ .extend()函数将一个对象与另一个对象合并,因此此处的选项与默认值合并,新对象存储在priv.options中。

// Public initialization
Plugin.init = function(options)
{...$.extend(priv.options, defaults, options);...
}

在这里,我们可以使用“ this.options”直接在Plugin priv对象上调用这些选项。

priv.options = {}; //private optionspriv.method1 = function()
{console.log('Private method 1 called...');$('#videos').append('

'+this.options.name+'
');priv.method2(this.options);
};

在这里可以实现插件的公共API,因为我们返回了可以访问公共方法的Plugin对象。

// Return the Public API (Plugin) we want to expose
return Plugin;

运行代码,我们可以在Firebug中清楚地看到在对象上设置了选项,并且正确调用了私有/公共方法。

basic-jquery-plugin2

演示版

加载YouTube视频

完整插件

/*** A basic jQuery plugin using the Module Pattern* ** @author Sam Deering* @copyright Copyright (c) 2012 jQuery4u* @license http://jquery4u.com/license/* @since Version 1.0**/!function(exports, $, undefined)
{var Plugin = function(){/*-------- PLUGIN VARS ------------------------------------------------------------*/var priv = {}, // private APIPlugin = {}, // public API// Plugin defaultsdefaults = {id : '',name : '',url : ''};/*-------- PRIVATE METHODS --------------------------------------------------------*/priv.options = {}; //private optionspriv.method1 = function(){console.log('Private method 1 called...');$('#videos').append('

'+this.options.name+'
');priv.method2(this.options);};priv.method2 = function(){console.log('Private method 2 called...');$('#'+priv.options.id).append('

'+this.options.url+'

'); // append title$('#'+priv.options.id).append('

翻译自: https://www.sitepoint.com/jquery-plugin-module-pattern/

jquery插件开发模式



推荐阅读
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
author-avatar
手机用户新常态
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有