日期:2014-05-20  浏览次数:20714 次

大家帮我想一个JavaScript的脚本可以么?谢谢了!
就是我的运行页面中的表格很宽,超出了屏幕范围所以底下有个下拉条,
往后拉下拉条才能看见后面的列,现在想通过div控件对后面的列进行操作,
可是现在一点击确定后,下拉条就自动跑到前面去了,
现在想操作完后想下拉条停在这个位置不动,可以看见后面的列,
我在function里面写
window.scrollTo(event.x,event.y);
可是滚动条在当前位置闪一下就有回到最前面的原始位置了,怎么能让滚动条停住不动呢?
谢谢大家啊!

------解决方案--------------------
可是现在一点击确定后,下拉条就自动跑到前面去了,按理说应该不会出现这种情况啊
里面是不是有 <a href= "# "> 换成 <a href= "javascript:void(0) ">
------解决方案--------------------
<a href= "# " onclick= "xxx();return false; ">
------解决方案--------------------
window.scrollTo(event.x + document.body.scrollLeft,event.y+document.body.scrollTop);

------解决方案--------------------
window.scrollTo(0,tablename.offTop)
------解决方案--------------------
上面已经说了,按理说是不会出现这种情况的.帖点代码分析下吧.
如果想之后滚动到那,那有很多方法,除了老孟的,scrollIntoView()方法,设置scrollTop等方法都行
------解决方案--------------------
比较麻烦,最好换种思路,做是可以做的,
刷新的时候采用get方式,把参数都写在URL上再在最后加一个滚动条的高度的参数
比如
document.location.href= "a.jsp?a=1&b=2&c= "+document.body.scrollTop
然后用request.getparameter( "c ")接,或者用JS直接拆分URL
直接在body的onload函数中写
document.body.scrollTop=刚才的值
------解决方案--------------------
你可以这样

<body onscroll= "Checkme() ">

所有内容写这里

<script>
var x = GetCookie( "x ")
var y = GetCookie( "y ")
if(x) document.body.scrollLeft = parseInt(x)
if(y) document.body.scrollTop = parseInt(y)

function Checkme()
{
SetCookie( "x ",document.body.scrollLeft)
SetCookie( "y ",document.body.scrollTop)

}

function SetCookie(sName, sValue)
{
document.cookie = sName + "= " + escape(sValue) + "; ";
}
function GetCookie(sName)
{
var aCookie = document.cookie.split( "; ");
for (var i=0; i < aCookie.length; i++)
{
var aCrumb = aCookie[i].split( "= ");
if (sName == aCrumb[0])
return unescape(aCrumb[1]);
}
return null;
}
</script>
------解决方案--------------------
用宽屏好了


------解决方案--------------------
如果你滚动的不是窗口的滚动条的话
onscroll事件要放到你的带滚动条的控件上,另外document.body.scrollLeft一扼要改成你的控件