正在加载...
欢迎订阅本站RSS,RSS地址:http://feed.css9.net。选择您使用的阅读器:Google Reader鲜果抓虾

在进入正文前,有两个题外话要说:

  • 首先,对关注CSS9.NET的朋友说一声抱歉。由于之前的一个多月出差在外,从上次更新至今已有一个多月没更新了,而且之中回答博友的留言也时有拖沓。令我感动的是此间博客的访问量并未减少(:( 也未见增长),还是经常会有朋友留言,在此对大家的关注表示感谢。今天是出差后第一天上班,从今天起恢复网站的更新,为大家分享更多文章、资源。
  • 在这一个多月,先是由于备案问题网站转至国外,后又因网速问题转至国内,中间可谓一波三折,还费了不少银子。从国外服务器转至国内后,发现右侧边栏中的“最近留言”板块出现了乱码。数据库中数据没有乱码,在文章下方的留言区域也没有乱码。一直没有找到原因,在这里向过路的朋友求助。

————————————————————————————
下面言归正传,为大家分享一款jquery插件。

文本框textarea是在网站中经常用到到多行文本输入标签,例如本文下面的留言输入框。一般情况下,我们会通过指定textarea的rows和cols属性来控制大小。当在textarea输入较多文本超过预设行数时,就会出现侧边滚动条。这样难免会将部分文本遮挡,当想回顾已输入内容时,还要去拖动滚动条,来来回回,煞是不爽。如果可以让textarea根据用户输入的文本内容自动扩展,就可以解决这个问题了,有助于改善用户体验。“autoresize”这款jquery插件就是用来解决这个问题的。

  1. 口说无凭,眼见为实。先看下面的演示效果(或者看这个页面):

    在该示例中可以看到textarea在扩展时使用了动画效果,比较平滑。当文本框扩展至一定高度时不再扩展,出现滚动条。这两点都可通过参数设置。

  2. 使用方法:
    html代码定义文本框

    <textarea id="test-comment" style="width: 400px; padding: 5px; height: 50px; display: block;">
            在这里输入内容,当内容超出文本框高度时,文本框会自动扩展
    </textarea>

    javascript代码

    $(function(){
    	$('textarea#test-comment').autoResize({
               // 文本框改变大小时触发事件,这里改变了文本框透明度
               onResize : function() {
                    $(this).css({opacity:0.8});
               },
              // 动画效果回调触发事件,这里改变了文本框透明度
              animateCallback : function() {
                   $(this).css({opacity:1});
              },
             // 动画效果持续时间(ms),默认150
            animateDuration : 300,
            // 每次改变大小时,扩展(缩小)的高度(像素),默认20
            extraSpace : 30,
            //当文本框高度大于多少时,不再扩展,出现滚动条,默认1000
    	limit: 200
        });
    })

    插件的配置参数参考上面javascript代码中的注释。如果不需要动画效果,可设置animate属性为false(默认为true)。

  3. 下载autoresize插件及示例代码:点击下载

延伸阅读:

  1. Jquery Tools——不可错过的Jquery UI库(三)
  2. 简洁易用的html编辑器——TinyEditor
  3. jQuery Tools——不可错过的jQuery UI库(六)
  4. Jquery Tools——不可错过的Jquery UI库(四)
  5. 通过javascript实现的快速编码解码服务
  6. 实现页面不同位置间平滑滚动的两种解决方案
  7. jQuery Tools——不可错过的jQuery UI库(五)
  8. 使用CSS和JQuery轻松切换网页显示样式


版权声明:

本站内容受著作权法保护。个人网站、blog转载时请遵循 “署名-非商业用途-保持一致” 的创作共用协议;商业网站或媒体未授权不得复制本站内容。

友情提示:

如对本文有任何疑问,或在示例的使用中遇到问题,或有好的建议,欢迎在下面留言共同学习,有问必答。

: http://css9.net/jquery-plugin-autoresize/

本文相关评论 - 才 3 条评论
webclerk
2009-09-04 10:21:57

这个不错,哈哈,以前要调整textarea真是烦恼啊,

2010-02-13 02:04:10

[...] 文本框textarea是在网站中经常用到到多行文本输入标签,例如本文下面的留言输入框。一般情况下,我们会通过指定textarea的rows和cols属性来控制大小。当在textarea输入较多文本超过预设行数时,就会出现侧边滚动条。这样难免会将部分文本遮挡,当想回顾已输入内容时,还要去拖动滚动条,来来回回,煞是不爽。如果可以让textarea根据用户输入的文本内容自动扩展,就可以解决这个问题了,有助于改善用户体验。“autoresize”这款jquery插件就是用来解决这个问题的。 [...]

2010-07-25 19:42:15

[...] Jquery插件:使用“autoresize”插件自动改变textarea大小 [...]

 填写2 + 6的结果