javascript控制滚动条与获取控件的位置

ie 6 需要用document.documentElement.scrollTop 获取滚动条位置
ie 其他版本可以用 document.body.scrollTop 获取滚动条位置
其他浏览器可以用 window.pageYOffset 获取滚动条位置

当聊天室的内容超出页面范围时,
如何让页面刷新后
显示最下面的内容

 代码如下 复制代码

 document.getElementById ( 'chatboard').scrollTop=document.getElementById ( 'chatboard').scrollHeight ;

chatboard 为显示容器的id

  滚动样式:

 代码如下 复制代码
<STYLE>
BODY {
SCROLLBAR-FACE-COLOR: #f892cc;
SCROLLBAR-HIGHLIGHT-COLOR: #f256c6;
SCROLLBAR-SHADOW-COLOR: #fd76c2;
SCROLLBAR-3DLIGHT-COLOR: #fd76c2;
SCROLLBAR-ARROW-COLOR: #fd76c2;
SCROLLBAR-TRACK-COLOR: #fd76c2;
SCROLLBAR-DARKSHADOW-COLOR: #f629b9;
SCROLLBAR-BASE-COLOR: #e9cfe0
}
</STYLE>   代码说明:
SCROLLBAR-FACE-COLOR: 滚动条凸出部分的颜色
SCROLLBAR-HIGHLIGHT-COLOR: 滚动条空白部分的颜色
SCROLLBAR-SHADOW-COLOR: 立体滚动条阴影的颜色
SCROLLBAR-3DLIGHT-COLOR: 滚动条亮边的颜色
SCROLLBAR-ARROW-COLOR: 上下按钮上三角箭头的颜色
SCROLLBAR-TRACK-COLOR: 滚动条的背景颜色
SCROLLBAR-DARKSHADOW-COLOR: 滚动条强阴影的颜色
SCROLLBAR-BASE-COLOR:

JS控制滚动条的位置:
window.scrollTo(x,y);

竖向滚动条置顶(window.scrollTo(0,0);
竖向滚动条置底 window.scrollTo(0,document.body.scrollHeight)

JS控制TextArea滚动条自动滚动到最下部

 代码如下 复制代码

document.getElementById('textarea').scrollTop = document.getElementById('textarea').scrollHeight;

再来一个js代码

 代码如下 复制代码
function GetPageScroll() {
var x, y;
if(window.pageYOffset) {
// all except IE
y = window.pageYOffset;
x = window.pageXOffset;
} else if(document.documentElement
&& document.documentElement.scrollTop) {
// IE 6 Strict
y = document.documentElement.scrollTop;
x = document.documentElement.scrollLeft;
} else if(document.body) {
// all other IE
y = document.body.scrollTop;
x = document.body.scrollLeft;
}
return y;
}

如下是定位鼠标在视窗中的位置,先定位视窗和页面直接的距离。  

 代码如下 复制代码

   function getMousePoint()
       {
          var point = {x:0,y:0};
         
          // 如果浏览器支持 pageYOffset, 通过 pageXOffset 和 pageYOffset 获取页面和视窗之间的距离
          if(typeof window.pageYOffset != 'undefined') {
              point.x = window.pageXOffset;
              point.y = window.pageYOffset;
          }
          // 如果浏览器支持 compatMode, 并且指定了 DOCTYPE, 通过 documentElement 获取滚动距离作为页面和视窗间的距离
          // IE 中, 当页面指定 DOCTYPE, compatMode 的值是 CSS1Compat, 否则 compatMode 的值是 BackCompat
          else if(typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') {
              point.x = document.documentElement.scrollLeft;
              point.y = document.documentElement.scrollTop;
          }
          // 如果浏览器支持 document.body, 可以通过 document.body 来获取滚动高度,如果是在ifram里面,用document.body可以获取iframe中滚动条的位置。

          else if(typeof document.body != 'undefined') {
              point.x = document.body.scrollLeft;
              point.y = document.body.scrollTop;
          }
          // 加上鼠标在视窗中的位置
          var event=window.event?window.event:evt;
          point.x += event.clientX;
          point.y += event.clientY;
         
          // 返回鼠标在视窗中的位置
          return point;
       }     

时间: 2024-10-25 06:26:32

javascript控制滚动条与获取控件的位置的相关文章

Javascript 阻止javascript事件冒泡,获取控件ID值_javascript技巧

1. 如何阻止事件冒泡 复制代码 代码如下: //非IE if (event && event.stopPropagation) event.stopPropagation(); else//IE window.event.cancelBubble = true; 2.获取控件ID 复制代码 代码如下: if (document.all) { //IE alert(event.srcElement.tagName+":"+event.srcElement.id); }

界面-Android中布局的控件的位置的问题

问题描述 Android中布局的控件的位置的问题 Android中layout_gravity和layout_marginTop同时设置的话那界面是怎么变化? 在线性布局下,例如一个textView,其android:layout_gravity_设为bottom,android:layout_margin Top_设为100sp,然后其位置就如图所示 然后把android:layout_gravity_设为top,其位置又如图: 但是我的layout_marginTop_一直都设为100sp,

MFC父窗口控制子窗口CListCtrl控件刷新的问题

问题描述 MFC父窗口控制子窗口CListCtrl控件刷新的问题 目标:父窗口单击按钮,向子窗口发送一个消息:子窗口的消息处理函数中,调用列表显示函数来刷新列表数据. 我的代码: // 父窗口void CDlg4::OnButtonClick(){ CDlg43 *dlg = new CDlg43(); dlg->Create(IDD_DIALOG_43this); if (NULL == dlg) { AfxMessageBox(""failed""); d

JavaScript面向对象技术实现树形控件

javascript|对象|控件 树形控件是一种人们熟悉的用户界面控件,广泛地用来显示层次型数据. 树形控件具有独特的扩展和折叠分支的能力,能够以较小的空间显示出大量的信息,一目了然地传达出数据之间的层次关系.凡是熟悉图形用户界面的用户,都能够自如地运用树形控件. 图一:用JavaScript实现的树形控件 HTML本身不支持树形控件,但我们可以通过一些JavaScript脚本代码实现.为了提高控件的可重用性,我们要充分运用JavaScript对面向对象编程技术的支持.本文的树形控件适用于IE

JQ 动态添加行,获取控件 ID

问题描述 JQ 动态添加行,获取控件 ID 做二级联动 第二个下拉框获取的Id不正确 求大神帮忙! 解决方案 给你的combotree增加id配置,在onSelect中通过options得到配置的id,而不是直接引用全局变量rowCount onSelect:function(rec){ var rowCount=$(this).combotree('options').id;///////// //....其他的代码

asp.net中根据本机的屏幕分辨率来控制页面中gridview控件的PageSize的值

问题描述 asp.net中根据本机的屏幕分辨率来控制页面中gridview控件的PageSize的值 asp.net中根据本机的屏幕分辨率来控制页面中gridview控件中的PageSize的值,分辨率不同,PageSize的值不同 解决方案 http://zhidao.baidu.com/link?url=7_maszHk6yvjio7PD-aZQPwdpmMY6dN76qgTiEWp8cgGd4G9g_rgiqrdrxiaaKmdSQIG0C7SFx47uKVG5sN9Wa

控件坐标-.net 怎么获取控件在屏幕中的坐标

问题描述 .net 怎么获取控件在屏幕中的坐标 看网上用函数:Point p = Button2.PointToScreen(Button2.Location); 但是老是提示错误,我引用了using System.Drawing;using System.Windows.Forms;请问我少引用了什么吗?还是.net控件不支持PointToScreen这个函数? 解决方案 你这个代码是桌面程序的,不是asp.net的.asp.net只能获得相对文档的坐标,而不能获得相对屏幕的坐标,除非你在客户

wpf-新手求助 我想用WPF实现,在一个窗体点击按钮控制另窗体的控件运动

问题描述 新手求助 我想用WPF实现,在一个窗体点击按钮控制另窗体的控件运动 ship是Mainwindow中的控件名称,然后在这里报错: this.ship.BeginAnimation(TranslateTransform.XProperty, dax); this.ship.BeginAnimation(TranslateTransform.YProperty, day); 错误:"运动.Window1"不包含"ship"的定义,并且找不到可接受类型为&quo

请教如何获取控件的内存数据

问题描述 请教如何获取控件的内存数据 比如按钮,按钮在内存中是有大小的,如何获取按钮的内存数据,从而从这些数据中匹配数据 解决方案 FindWindow找到按钮的句柄,用GetWindowRect获取它的大小. 解决方案二: 正规的方法,应该是支持控件提供的接口去获取,而不是直接读取控件的内存. 当然,如果你找到控件的内存地址.且知道控件的数据结构,自己读完全是没有问题的.因为控件,一般也就是一个类!