1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > JS 仿支付宝input文本输入框放大组件的实例

JS 仿支付宝input文本输入框放大组件的实例

时间:2021-02-06 04:52:32

相关推荐

JS 仿支付宝input文本输入框放大组件的实例

web前端|js教程

javascript,input,放大

web前端-js教程

下面小编就为大家带来一篇JS 仿支付宝input文本输入框放大组件的实例。小编觉得挺不错的,现在就分享js源码给大家,也给大家做个参考。对js感兴趣的一起跟随小编过来看看吧

最好的影视源码,ubuntu怎么增加内存,python自建爬虫代理,php做一个志愿者管理系统,seo如何赚lzw

input输入的时候可以在后边显示数字放大镜

仿大麦户网站源码,命令行vscode调试,ubuntu 编程速度,tomcat处理偶尔超时,爬虫动物科普,php的运行状态,张家口seo推广企业,网站集成环境,thinkphp 模板 countlzw

全网vip电影源码,ubuntu屏幕不休眠,启动tomcat有多个进程,java 爬虫网站,php 中英文替换,seo推广平台找行者SEOlzw

JS 仿支付宝input文本输入框放大组件* { margin: 0; padding: 0; border-width: 1px; } .parentCls {margin:5px 60px 0;} .js-max-input {border: solid 1px #ffd2b2; position:relative;background: #fffae5;padding: 0 10px 0 10px;font-size:20px;color: #ff4400} .inputElem4{ width: 300px; height: 36px; border: 1px solid #E0E0E0; padding-left: 10px; line-height: 36px; font-size: 14px; }

// 初始化 $(function(){ new TextMagnifier({ inputElem: .inputElem4, align: ottom, splitType: [6,4,4,4] }); });

/** * JS 仿支付宝的文本输入框放大组件 */ function TextMagnifier(options) { this.config = { inputElem : .inputElem, // 输入框目标元素 parentCls : .parentCls, // 目标元素的父类 align : ight, // 对齐方式有 [ op,ottom,left, ight]四种 默认为top splitType : [3,4,4], // 拆分规则 delimiter : - // 分隔符可自定义 }; this.cache = { isFlag : false }; this.init(options); } TextMagnifier.prototype = { constructor: TextMagnifier, init: function(options) { this.config = $.extend(this.config,options || {}); var self = this, _config = self.config, _cache = self.cache; self._bindEnv();}, /* * 在body后动态添加HTML内容 * @method _appendHTML */ _appendHTML: function($this,value) { var self = this, _config = self.config, _cache = self.cache; var html = \, $parent = $($this).closest(_config.parentCls); if($(.js-max-input,$parent).length == 0) { html += \; $($parent).append(html); } var value = self._formatStr(value); $(.js-max-input,$parent).html(value); }, /* * 给目标元素定位 * @method _position * @param target */ _position: function(target){ var self = this, _config = self.config; var elemWidth = $(target).outerWidth(), elemHeight = $(target).outerHeight(), elemParent = $(target).closest(_config.parentCls), containerHeight = $(.js-max-input,elemParent).outerHeight();$(elemParent).css({"position": elative}); switch(true){case _config.align == op: $(.js-max-input,elemParent).css({position:absolute, op :-elemHeight - containerHeight/2,left:0}); break;case _config.align == left: $(.js-max-input,elemParent).css({position:absolute, op :0,left:0}); break;case _config.align == ottom: $(.js-max-input,elemParent).css({position:absolute, op :elemHeight + 4 + px,left:0}); break;case _config.align == ight: $(.js-max-input,elemParent).css({position:absolute, op :0,left:elemWidth + 2 + px}); break; } }, /** * 绑定事件 * @method _bindEnv */ _bindEnv: function(){ var self = this, _config = self.config, _cache = self.cache; // 实时监听输入框值的变化 $(_config.inputElem).each(function(index,item){ $(item).keyup(function(e){ var value = $.trim(e.target.value),parent = $(this).closest(_config.parentCls); if(value == \) {self._hide(parent); }else {var html = $.trim($(.js-max-input,parent).html());if(html != \) {self._show(parent);} } self._appendHTML($(this),value); self._position($(this)); }); $(item).unbind(focusin); $(item).bind(focusin,function(){ var parent = $(this).closest(_config.parentCls),html = $.trim($(.js-max-input,parent).html()); if(html != \) {self._show(parent); } }); $(item).unbind(focusout); $(item).bind(focusout,function(){ var parent = $(this).closest(_config.parentCls); self._hide(parent); }); }); }, /** * 格式化下 * @method _formatStr */ _formatStr: function(str){ var self = this, _config = self.config, _cache = self.cache; var count = 0, output = []; for(var i = 0, ilen = _config.splitType.length; i 0){ output.push(s); } count+= _config.splitType[i]; } return output.join(_config.delimiter); }, /* * 显示 放大容器 * @method _show */ _show: function(parent) { var self = this, _config = self.config, _cache = self.cache; if(!_cache.isFlag) { $(.js-max-input,parent).show(); _cache.isFlag = true; } }, /* * 隐藏 放大容器 * @method hide * {public} */ _hide: function(parent) { var self = this, _config = self.config, _cache = self.cache; if(_cache.isFlag) { $(.js-max-input,parent).hide(); _cache.isFlag = false; } } };

效果图

以上这篇JS 仿支付宝input文本输入框放大组件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持PHP中文网。

js放大镜放大图片效果

电子商务网站上的常用的js放大镜效果

jquery单击文字内容放大并居中实例分享

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