我在项目里用到多行文本框显示,设定显示5行,当出现滚动条时,怎样让他 不用 手动拉滚动条,而直接显示后面的信息;以增加用户的体验.
其实,你这样才是影响用户体现呢,看了100行,现在要看31行,怎么办?
可能是我表达的不准确.我做的聊天工具,我想做成像QQ一样 当出现滚动条时 不想让他从第一次开始 拉滚动条才能看到最后一行, 想直接显示最后的一条 ;我做成了这样 想看的话 还有啦滚动条.想做成这样的
@longyin: 那你每次有消息来的时候,都让textbox的滚动条滚动到底。
<html> <head> <script type="text/javascript" src="jquery-1.8.0.js"></script> </head> <body> <div> <textarea rows="5" cols="30" id="chatText">1111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 </textarea> <div> </body> <script type="text/javascript"> window.setTimeout("showChatContent()",2000); function showChatContent() { var text = document.getElementById("chatText"); text.value+="\n测试数据"+new Date(); window.setTimeout("showChatContent()",2000); $(text).scrollTop($(text).height()+$(text).scrollTop()); } </script> </html>
ff,chrome,ie9下测试通过
自动滚动? 那用户要是没看到那 结果就滚动开了不是很蛋疼
如果不拉滚动条 那就放个按钮把,点一下翻一页 好多网站都这么干的
<!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></title> <style type="text/css"> * { margin: 0; padding: 0; font: normal 12px/17px Arial; } .msg { width: 300px; margin: 100px; } .msg_caption { width: 100%; overflow: hidden; margin-bottom: 1px; } .msg_caption span { display: block; float: left; margin: 0 2px; padding: 4px 10px; background: #898989; cursor: pointer; color: white; } .msg textarea { width: 300px; height: 80px; height: 100px; border: 1px solid #000; } </style> <script src="../scripts/jquery.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { var $comment = $('#comment'); //获取评论框 $('.bigger').click(function () { if (!$comment.is(":animated")) { //判断是否处于动画 if ($comment.height() < 500) { $comment.animate({ height: "+=50" }, 400); //重新设置高度,在原有的基础上加50(如果直接.height("height-50")就没动画效果了) } } }) $('.smaller').click(function () { if (!$comment.is(":animated")) { if ($comment.height() > 50) { $comment.animate({ height: "-=50" }, 400); //重新设置高度,在原有的基础上减50 } } }); $('.up').click(function () { //向上按钮绑定单击事件 if (!$comment.is(":animated")) {//判断是否处于动画 $comment.animate({ scrollTop: "-=50" }, 400); } }) $('.down').click(function () {//向下按钮绑定单击事件 if (!$comment.is(":animated")) { $comment.animate({ scrollTop: "+=50" }, 400); } }); }); </script> </head> <body> <form action="" method="post"> <div class="msg"> <div class="msg_caption"> <span class="bigger">放大</span> <span class="smaller">缩小</span><span class="up">向上</span> <span class="down">向下</span> </div> <div> <textarea id="comment" rows="8" cols="20">多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.</textarea> </div> </div> </form> </body> </html>
可能是我表达的不准确.我做的聊天工具,我想做成像QQ一样 当出现滚动条时 不想让他从第一次开始 拉滚动条才能看到最后一行, 想直接显示最后的一条 ;我做成了这样 想看的话 还有啦滚动条.想做成这样的
@longyin: <body onload=window.scrollTo(0,document.body.scrollHeight)>