jquery插件 - 学习笔记 (插件参数及函数的调用)

今天研究的是jquery插件的基本写法:

比如我打算写一个名为 ImageZoom 的插件 

前台调用:

<script src="ImageZoom.js"></script>$.ImageZoom({
  imageSelector: ".imgBox img",         //图片选择器
  wrapSelector: ".list-images",         //层选择器
  allowCustomeZoom: true,               //允许手动缩放
  speed: 300,                
  callback: function () {
    alert(2);
  }
})

  

ImageZoom.js 内: 

;(function (window, document) {
    ‘use strict‘;
    /*===========================
    ImageZoom
    ===========================*/
    $(function () {
        //进入插件
        _init();
    });

    $.ImageZoom = function (options) {
        var s=this;

        var defaults={
            imageSelector: null,                  //图片选择器
            wrapSelector: null,                   //层选择器
            allowCustomeZoom: true,               //允许手动缩放
            speed: 500,
            callback:function(){}                 //回调函数
        };

        var opts=$.extend({}, defaults, options);   //继承默认参数,合并传进来的参数

        $(opts.imageSelector).on(‘click‘,function(){
            opts.callback();                        //点击图片的时候,触发回调函数
        })
    }

    function _init(){
        console.log(‘init‘);
    }

})(window, document);

  

模板世界(www.templatesy.com),分享最新、最全的网站模板

  有一定基础,打算写js插件的同学们应该不难理解,就不过多解释了(其实我懒)

  

  

时间: 2024-08-07 14:05:33

jquery插件 - 学习笔记 (插件参数及函数的调用)的相关文章

jQuery插件学习笔记

最近在研究jQuery插件,插件编写的目的是给已经有的一系列方法或函数做一个封装,以便在其他地方重复使用,方便后期维护. JQuery除了提供一个简单.有效的方式进行管理元素以及脚本,它还还提供了例外一种机制:即给核心模块增加自己的方法和额外的功能.通过这种机制,Jquery允许我们自己创建属于我们自己的插件,提高我们在开发过程中的效率. 虽然在jQuery命名空间中,我们禁止使用了大量的javaScript函数名和变量名.但是仍然不可避免某些函数或变量名将于其他jQuery插件冲突,因此我们习

jQuery源码学习笔记:扩展工具函数

// 扩展工具函数 jQuery.extend({ // http://www.w3school.com.cn/jquery/core_noconflict.asp // 释放$的 jQuery 控制权 // 许多 JavaScript 库使用 $ 作为函数或变量名,jQuery 也一样. // 在 jQuery 中,$ 仅仅是 jQuery 的别名,因此即使不使用 $ 也能保证所有功能性. // 假如我们需要使用 jQuery 之外的另一 JavaScript 库,我们可以通过调用 $.noC

jquery.extend 学习笔记

//// jquery.extend 学习笔记// jquery.extend 扩展方法设计的很巧妙,动态增加静态方法和属性 // 虽然网上资料很多,还是跟据自已的学习理解记录一下.// //定义一个Person构造函数function Person(iname,iage){ this.uname = iname; this.age = iage;} //定义原型方法Person.prototype = { showN:function(){ //调用静态方法 Person.showName(t

Swift学习笔记(二)参数类型

关于参数类型,在以前的编程过程中,很多时间都忽视了形参与实参的区别.通过这两天的学习,算是捡回了漏掉的知识. 在swift中,参数有形参和实参之分,形参即只能在函数内部调用的参数,默认是不能修改的,如果想要修改就需要在参数前添加var声明. 但这样的声明过后,仍旧不会改变实参的值,这样就要用到inout了,传递给inout的参数类型必须是var类型的,不能是let类型或者字面类型,(字面类型是在swift中常提的一个术语,个人认为就是赋值语句,也不能修改)而且在传递过程中,要用传值符号"&

python学习笔记11-python内置函数

python学习笔记11-python内置函数 一.查看python的函数介绍: https://docs.python.org/2/library/ 二.python内置函数 1.abs获取绝对值: 通过python官网查看abs abs(x) Return the absolute value of a number. The argument may be a plain or long integer or a floating point number. If the argument

Vue学习笔记进阶篇——Render函数

本文为转载,原文:Vue学习笔记进阶篇--Render函数 基础 Vue 推荐在绝大多数情况下使用 template 来创建你的 HTML.然而在一些场景中,你真的需要 JavaScript 的完全编程的能力,这就是 render 函数,它比 template 更接近编译器. <h1> <a name="hello-world" href="#hello-world"> Hello world! </a> </h1>

Hadoop源码学习笔记(2) ——进入main函数打印包信息

Hadoop源码学习笔记(2) ——进入main函数打印包信息 找到了main函数,也建立了快速启动的方法,然后我们就进去看一看. 进入NameNode和DataNode的主函数后,发现形式差不多: public static void main(String args[]) {     try {       StringUtils.startupShutdownMessage(DataNode.class, args, LOG);       DataNode datanode = crea

C++学习笔记22,普通函数重载(1)

转载请注明出处:http://blog.csdn.net/qq844352155/article/details/31353325 该博文仅用于交流学习,请慎用于任何商业用途,本博主保留对该博文的一切权利. 博主博客:http://blog.csdn.net/qq844352155 什么是方法重载? 方法重载也可以说是函数重载,函数的多态性. 具体来说就是将函数或者方法的名称用于多个函数,但是参数的类型或者参数的数目不同. 在这篇blog里面我只讨论类外函数的重载. 例如一个简单的例子: #in

初探swift语言的学习笔记(类对象,函数)

swift扩展了很多功能和属性,有些也比较奇P.只有慢慢学习,通过经验慢慢总结了. 下面将初步学习一下类的写法. 码工,最大爱好就是看码,而不是文字,太枯燥. // // computer.swift // swiftDemo // // Created by apple on 14-6-8. // Copyright (c) 2014年 fengsh. All rights reserved. /* 写本例子的目的在于快速学习swift类的写法,包括知识点: 1.属性设置 2.构造.释构 3.

C++学习笔记26,虚函数

在C++里面,虚函数是一类重要的函数!可以通过虚函数定义不同对象同一行为的不同实现. 举一个简单的例子: #include <iostream> #include <string> using namespace std; class Animal{ protected: string name; public: Animal(const string &s):name(s){ } virtual ~Animal(){ } virtual void speak()const