PDA

View Full Version : سوال: مشکل با scroll



alishirazi
سه شنبه 26 آذر 1387, 09:37 صبح
سلام،
من یه online chat (web chat) نوشتم، یه مشکل کوچیک دارم،
اینکه تو chatbox ( یه div که پیغام ها توش نمایش داده می شوند، که style overflow هم برای scroll خوردنش ست کردم) وقتی تعداد پیغام ها زیاد میشه و scroll می خوره، Scroll همونجاییکه هست میمونه، من می خوام Scroll همیشه پایین بمونه که کاربرم لازم نباشه Scroll کنه تا پیغام های جدید رو ببینه.
اگه کسی پیشنهادی داره بده ممنون میشم.

(نکته : به دلایلی پیغام ها با javascript اضافه می شوند به قسمت مربوطه، یعنی هربار innerHTML اون div جمع میشه با متن پیغام جدید)

kiosksoft
سه شنبه 26 آذر 1387, 09:47 صبح
دوست عزیز

از متد focus استفاده کنید طوری که این متد بعد از اضافه شدن هر پیغام ,این متد روی آخرین پیغام اجرا شود.


btn.focus()

alishirazi
سه شنبه 26 آذر 1387, 11:03 صبح
دوست عزیز پیغام های من text هستند و از طریق cs اضافه میشن به response و بعد با javascript توشته میشن اونجا.
پس رو text نمی تونم focus کنم :-|

kiosksoft
سه شنبه 26 آذر 1387, 11:12 صبح
اگه فکر میکنید هیچ راه حلی نداره,میتونید این دستور رو شبیه سازی کنید.

alishirazi
سه شنبه 26 آذر 1387, 11:23 صبح
خب مشکل اینکه چطور شبیه سازی کنم؟

emad_67
سه شنبه 26 آذر 1387, 12:49 عصر
کافیه مقدار scrollTop اون div رو برابر scrollHeight همون div بزاری.
این مثال رو ببین:


<html dir="rtl">

<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 1</title>
<style type="text/css">
.content
{
height: 100px;
overflow: auto;
border: 1px solid #000;
}
</style>
<script type="text/javascript">
var i=1;
function add()
{
var content=document.getElementById("content");
document.getElementById("content").innerHTML+=(i++)+"<br/>";
content.scrollTop=content.scrollHeight;
setTimeout("add()",100);
}
</script>
</head>

<body>
<div id="content" class="content">

</div>
<input type="button" onclick="add();" value="click"/>
</body>

</html>