900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > jquery插件制作 自增长输入框实现代码【jquery】

jquery插件制作 自增长输入框实现代码【jquery】

时间:2021-03-11 15:13:28

相关推荐

jquery插件制作 自增长输入框实现代码【jquery】

web前端|js教程

自增长输入框

web前端-js教程

首先还是看html代码:

弹窗支付源码,vscode如何变大字体,ubuntu引导丢失,tomcat日志文件意思,前端 能写爬虫,php 委托模式,seo网站推广能找到客户吗,新云网站内容管理系统 4.0.0 sp2lzw

$(document).ready(function () {

$(#autogrow).autogrow();

});

接下来是js插件代码:

易语言cf方框透视源码,vscode1.60.0,ubuntu卸载命令,tomcat并发数配置,sqlite html5,苏州设计网页设计,国际顶级域名数据库,php怎么访问数据库服务器配置,国内js 插件,easyui前端框架,diy爬虫,php python,武汉seo优化,springboot表自动生成,html a 标签 浮动提示,帝国cms门户网站源码,jquery做网页计算器,dtcms手机模板,dedecms 后台 模板,ppt页面切换,java商品管理系统,抽奖小程序lzw

(function ($) {

$.fn.autogrow = function (options) {

var defaults = {

minHeight: 0,

maxHeight: 9999

};

var options = $.extend(defaults, options);

return this.each(function () {

var element = $(this);

//上一次文本框内容长度和宽度

var lastValLength, lastWidth;

//文本框内容长度、宽度和高度

var valLength, width, height;

//验证页面元素是textarea

if (!element.is( extarea)) {

return;

}

element.css(overflow, hidden)//设置超出范围的文字隐藏

.keyup(function () {//设置键盘弹起事件

//获取文本框内容长度

valLength = $(this).val().length;

//获取输入框的宽度

//我这里使用的jquery版本是1.8,获取css属性的方法已经变成了prop

//如果使用1.6以下版本的jquery,以下代码要变为 width = $(this).attr(offsetWidth);

//$(this).prop(scrollHeight)也要变为:$(this).attr(scrollHeight)

width = $(this).prop(offsetWidth);

//有文字删除操作,或者文本框宽度变化的时候,先将文本框高度设置为0

if (valLength < lastValLength || width != lastWidth) {

$(this).height(0);

}

//计算适合的文本框高度

height = Math.max(options.minHeight, Math.min($(this).prop(scrollHeight), options.maxHeight));

//如果当前文本框的高度超过我们允许的最大高度的时候,隐藏多余文字;否则设置为auto

//$(this).prop(scrollHeight) > height 只有在height取得的值是options.maxHeight才有意义

$(this).css(overflow, ($(this).prop(scrollHeight) > height ? auto : hidden))

.height(height); //设置文本框高度

lastValLength = valLength;

lastWidth = width;

});

});

}

})(jQuery);

例子比较简单,就是当你往文本框里输入信息的时候,文本框的高度会根据情况自动增长。

建议大家在看懂代码的基础上,还是自己动手写一遍代码,一来可以加深记忆,二来或许会遇到一些特殊情况,或许自己的demo运行不成功。通过努力,让自己的demo运行成功,你的js能力也就提升了。

demo下载地址:jQuery.plugin.autogrow

打车app源码,快速将项目加入vscode,ubuntu 密钥,apche tomcat,sqlite组成,ps制作个人网页设计,mysql数据库日志清理,建站 服务器 公网带宽,简单轮播图插件,前端框架js框架,爬虫盗取,php 过滤html,傻seo,springboot代码入侵,织梦图文调用标签,域名展示网站源码,餐饮网页设计模板,动态tab页 模板,表单form传值到后台案例,京东购物车支付页面,养老院管理系统源码,易语言怎么获取别的程序内容lzw

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。