zoukankan      html  css  js  c++  java
  • 一个jQuery模板插件的测试例子boilerplate模板插件测试

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>boilerplate模板插件测试</title>
    <script type="text/javascript" src="scripts/jquery-1.7.1.min.js"></script>
    <script language="javascript">
    // JavaScript Document
    ;(function ( $, window, document, undefined ) {

        var pluginName = 'test',
            defaults = {
                propertyName: "value"
            };
       
        function Plugin ( element, options ) {    
            this.element = element;    
            this.options = $.extend( {}, defaults, options) ;
            
            this._defaults = defaults;
            this._name = pluginName;
            this._version = "version 0.1.0";
            
            this.init();        
        }
           
        /* 对外私有de方法--private */
        var privateFunc = function  () {
            $(this).html("我的内容在初始化时,被私有函数修改了");        
        };
        
        /* 构造函数方法-private */
        var create = function () {
            
        };
        
        /* 对外暴露de方法 */       
        Plugin.prototype.setContent = function (val) {
            $(this.element).html(val);
            return $(this.element).html();
        };
        
        /* 获取和设置参数变量--get|set 方法 */
        Plugin.prototype.get = function(v){
            try{
                if( typeof v == 'string' )    
                    return eval("this.options."+v);
                else
                    throw new Error("Invilid parameter type!");
            }catch(e){
                alert(e.message);    
            }
        };
        Plugin.prototype.set = function(v,l){
            try{
                if( typeof v == 'string' )    
                    eval("this.options." + v + "= l;");
                else
                    throw new Error("Invilid parameter type!");
            }catch(e){
                alert(e.message);    
            }
        };
            
        /* 初始化方法 */
        Plugin.prototype.init = function () {  
            create.call(this);//构造函数
            privateFunc.call(this);//私有函数调用方法
        };
        $.fn[pluginName] = function ( options ) {
            return this.each(function () {
                if (!$.data(this, 'plugin_' + pluginName)) {
                    $.data(this, 'plugin_' + pluginName, new Plugin( this, options ));
                }
            });
        }

    })(jQuery, window, document);
    $(document).ready(function(){    
        var $obj = $("#plugin").test({propertyName:12}).data("plugin_test");
        alert("提示:初始化已结束!");
        var str  = $obj.setContent("我的内容在初始化后,被外部调用的公有函数修改了");
        alert(str);
        $obj.set("propertyName",232);
        alert("propertyName:"+$obj.get("propertyName"));
        
    });
    </script>
    </head>

    <body>
    <div id="plugin">test内容</div>
    <span></span>
    </body>
    </html>

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Oracle之:Function :dateToNumber()
    Oracle之:Function :getcurrdate()
    Oracle之:Function :getdate()
    Hadoop-No.15之Flume基于事件的数据收集和处理
    Hadoop-No.14之文件传输的特点
    Hadoop-No.13之数据源系统以及数据结构
    Hadoop-No.12之数据采集的时效性
    Hadoop-No.11之元数据
    Hadoop-No.10之列簇
    Hadoop-No.9之表和Region
  • 原文地址:https://www.cnblogs.com/ghw0501/p/4733928.html
Copyright © 2011-2022 走看看