`
tsailer
  • 浏览: 53050 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

jquery widget sample

    博客分类:
  • JS
 
阅读更多
<!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>
  <title> new document </title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta name="generator" content="editplus" />
  <meta name="author" content="" />
  <meta name="keywords" content="" />
  <meta name="description" content="" />
  <style type="text/css">
  <!--
	input {font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;}
  -->
  </style>

 </head>

 <body>
  <input type="text" id="test" style="width:166px;height:20px;font-size:20px;"/>
 </body>
 <script type="text/javascript" src="jquery-1.3.2.js"></script>
 <script type="text/javascript" src="jquery-ui-1.7.1.js"></script>
 <script language="JavaScript" type="text/javascript">
 <!--
	(function($) {
	//define tosmall widget
	$.widget("ui.tosmall", {
		_init: function(){
			var self = this, op=this.options, ele=this.element;
			var fz = ele.css("font-size");
			this.ss = ele.css("width");
			var ssn = parseInt(this.ss,10);
			self.check(ssn,fz);
			ele.bind('ui.keyup',function(){
				//use namespace bind event
				//控件名加事件来绑定click事件,避免unbind时把页面中的其它click事件都unbind
				self.check(ssn,fz);
			});
			return this;
		},
		
		check:function(t,a){
			var self = this;
			var fzn = parseInt(a,10);
			var num = Math.floor(t/fzn);
			//console.log($(self.element).val().length+'-----'+num);
			if($(self.element).val().length > num){
				fzn -= 2;
				self.ss = fzn + "px";
				self.element.css("font-size",a);
			}else{
				//alert("22");
				if(fzn<=20){
					fzn += 2;
				}
				self.ss = fzn + "px";
				self.element.css("font-size",a);
			}
			console.log(a);
		},
		
		_change:function(){
			self._trigger('select',event,null);//_trigger;

		},
		
		destroy:function(){
			$.widget.prototype.destroy.apply(this);
		}
	});
	//默认属性
	
})(jQuery);
//use variable reference the children dom of widget 
//用变量引用控件里面的dom元素,不用id 和 class 避免出现页面同时引用一个控件,
//当其中的一个控件实例调用控件的dom元素时,调用到别的控件实例

//jQuery(..).draggable() - Creates a new instance of jQuery.ui.draggable
//jQuery(..).draggable({..}) - Creates a new instance of jQuery.ui.draggable with an optional options hash
//jQuery(..).draggable("foo", [args]) - Calls the method foo() method on the draggable instance stored on the element with optional arguments 
 //-->
 </script>
  <script type="text/javascript">
  $("#test").tosmall();
var ss = $("#test").tosmall("check");
  //先$("#test").tosmall();
  //后$("#test").tosmall("check");
  //如果有返回值,必须使用
  //$.extend($.ui.tosmall,{
  //	getter:'check',//这句
  //	defaults:{	}
  //	})
  //否则返回$("#test"
  </script>
</html>


//empty有时会出现内存溢出,请尽量避免使用
//用innerHTML代替,但是这个好像有时也有bug

//web 前端的好处是开源的,
分享到:
评论

相关推荐

    jQuery widget设计文档

    "jQuery widget"是jQuery UI框架的一部分,它提供了一种封装复杂交互和视图组件的方法,使得开发者可以创建可复用、可配置且具有良好用户体验的UI元素。在本篇文章中,我们将深入探讨jQuery widget的设计原理、使用...

    Wijmo Jquery Widget

    **Wijmo jQuery Widget**是基于jQuery UI框架的组件库,它为开发人员提供了一系列丰富的交互式用户界面元素,以创建高效、响应式的Web应用程序。这个库特别关注于提升用户体验和增强网页应用的功能性,同时简化了...

    前端开源库-jquery-widget-compiler.zip

    《前端开源库-jquery-widget-compiler深度解析》 在当今的Web开发领域,前端框架与库扮演着至关重要的角色,它们极大地提高了开发效率并优化了用户体验。jQuery作为一个经典的JavaScript库,自2006年发布以来,就因...

    jquery.ui.widget.js

    《jQuery UI Widget模块在文件上传中的应用》 在Web开发中,用户交互体验的重要性日益凸显,特别是文件上传功能,已经成为网站必备的一项功能。jQuery UI Widget是jQuery库的一个核心部分,它提供了一种创建可重用...

    jQuery_Sample

    **jQuery_Sample** jQuery 是一个广泛使用的JavaScript库,它极大地简化了HTML文档遍历、事件处理、动画制作和Ajax交互。这个"jQuery_Sample"压缩包文件很可能是包含了一系列示例,旨在帮助开发者更好地理解和应用...

    jQuery Sample Application

    Understand and know how to use AJAX;Understand JSON;Understand and know how to use jQuery;Understand the usage of AJAX and JSON with jQuery

    前端开源库-jquery-widget-compiler

    【前端开源库-jquery-widget-compiler】是一款专为前端开发者设计的工具,它基于jQuery库,旨在帮助开发者创建和编译自定义的UI小部件。这个项目的核心目标是将jQuery插件开发体验提升到一个新的层次,引入了类似Web...

    jquery ui插件以及示例

    **jQuery UI插件详解及示例** jQuery UI是基于JavaScript库jQuery的一款强大的用户界面插件集,它提供了丰富的交互效果、可自定义的主题以及多种功能组件。这些组件包括但不限于日期选择器、对话框、拖放功能、...

    前端项目-jquery-ui-multiselect-widget.zip

    《前端项目:jQuery UI Multiselect Widget的深度解析》 在当今的Web开发中,前端界面的设计和用户体验成为了项目成功的关键因素。"前端项目-jquery-ui-multiselect-widget.zip" 提供了一个强大的工具,它是一个...

    jQuery编写widget的一些技巧分享

    如果同一个jQuery对象,使用了两个widget,而两个widget都绑定了相同的事件名称,可能会出现问题。在销毁widget的时候,去除绑定事件也很方便,只需要unbind(”.namespace“)就可以了。 2、在写jQuery的时候,因为...

    jQuery源码 jQuery源码 jQuery源码

    jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码jQuery源码...

    jquery 插件开发

    在本篇文章中,我们将详细解析如何通过$.extend()方法扩展jQuery、如何通过$.fn向jQuery添加新的方法以及如何使用$.widget()方法应用jQuery UI的部件工厂方式创建插件。 首先,我们来看如何通过$.extend()方法扩展...

    appsync_jquery_sample

    **标题:“appsync_jquery_sample”** 这个项目是关于如何使用jQuery库来实现与AWS AppSync的Ajax交互的示例。AWS AppSync是一项完全托管的服务,它允许开发者实时同步数据到多个客户端,如Web、移动应用等。通过...

    grunt-init-jquery-sample:这是grunt-init“ jquery”模板生成的示例输出

    grunt-init“ jquery”示例 这是grunt-init“ jquery”模板生成的示例输出。 注意:此存储库是使用grunt-init v0.2.0rc1动态生成... $ mkdir grunt-init-jquery-sample && cd grunt-init-jquery-sample $ git init Ini

    jquery-3.7.0.min.js(jQuery下载)

    jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)...

    jquery插件库(jquery.treeview插件库)

    jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery....

    custom-jquerymobile-widget:自定义jquerymobile小部件

    这个项目“custom-jquerymobile-widget”则着重于利用jQuery Mobile的功能来创建自定义的小部件,以满足特定的界面需求。本文将深入探讨如何基于jQuery UI Widget Factory来构建自定义的jQuery Mobile小部件,并介绍...

Global site tag (gtag.js) - Google Analytics