×××××××怎么确定selcet中滚动条的位置?××××××××

gchengt 2008-04-15 02:19:51
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DropDownList.aspx.cs" Inherits="DropDownList" %>

<!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 runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<script >
function doclick()
{
//debugger;
//document.getElementById("Option4").scrollIntoView(true);
document.getElementById("Option4").scrollIntoView(false);
}
</script>
<div>
<select id="select1" size="3" style="width:200px" >
<option id="Option0" value="0" title="北京">北京</option>
<option id="Option1" value="1" title="上海">上海</option>
<option id="Option2" value="2" title="天津">天津</option>
<option id="Option3" value="3" title="重庆">重庆</option>
<option id="Option4" value="4" title="河北">河北</option>
<option id="Option5" value="5" title="河南">河南</option>
<option id="Option6" value="6" title="山东">山东</option>
<option id="Option7" value="7" title="山西">山西</option>
<option id="Option8" value="8" title="湖南">湖南</option>
<option id="Option9" value="9" title="湖北">湖北</option>
<option id="Option10" value="10" title="辽宁" selected="selected">辽宁</option>
<option id="Option12" value="11" title="辽宁">吉林</option>
<option id="Option13" value="12" title="辽宁">黑龙江</option>
<option id="Option14" value="13" title="辽宁">内蒙</option>
<option id="Option15" value="14" title="辽宁">陕西</option>
<option id="Option16" value="15" title="辽宁">安徽</option>
<option id="Option11" value="16" title="辽宁">江苏</option>
</select>

</div>
<input type="button" value="选择" onclick="doclick()" />
</form>
</body>
</html>


怎么确定selcet中滚动条的位置?我用的是如下代码:
document.getElementById("Option4").scrollIntoView(false);

但是滚动条不能定位到我想看到的区域,请问该怎么做啊?谢谢了!
...全文
148 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
dh20156 2008-04-16
  • 打赏
  • 举报
回复
楼主的代码在看起来在FF中可以实现效果,在IE中没有反应,其实scrollIntoView在FF和IE中都起作用了,楼主可以在一个有滚动条的页面中测试一下,会发现执行doclick后,页面滚动了!

在FF下倒可以通过设置SELECT的scrollTop来实现,IE下还是没有办法,还是通过设置option的selected来实现吧。
lifuyun 2008-04-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 llddy 的回复:]
HTML code
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DropDownList.aspx.cs" Inherits="DropDownList" %>

<!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 runat="server">
<title>无标题页 </title>
</head>
<body>
<form id="form1" runat="s…
[/Quote]
gchengt 2008-04-15
  • 打赏
  • 举报
回复
看来是没有办法了
  • 打赏
  • 举报
回复
http://blog.csdn.net/chinmo/archive/2008/04/15/2295052.aspx
自己看看有关于select标签的属性和方法
  • 打赏
  • 举报
回复
SELECT的属性里没有直接控制其滚动条的,一般控制滚动条都是改变selectedIndex来控制
gchengt 2008-04-15
  • 打赏
  • 举报
回复
还是“辽宁”被selected,但是滚动条要移动到别的位置,当前能看到的3个option中没有“辽宁”的option
gchengt 2008-04-15
  • 打赏
  • 举报
回复
你们没有理解我说的意思吧。
我是想确定滚动条的位置,而不是要改变selectedIndex。

换句话说,我并不改变selected所在的option,但是还要移动滚动条!!!!
六脉神剑绝学 2008-04-15
  • 打赏
  • 举报
回复
如果想定在某个固定的选项上,五楼的SElected网上最常见,应该可以直接解决,用JS反而麻烦。
要用Js,还是六楼的直接让它为四即可。其实与上面的原理是一样的,优点是可以动态把握选择到哪一项。
myvicy 2008-04-15
  • 打赏
  • 举报
回复
直接设置它的值就可以了。
document.getElementById("select1").value=4;
llddy 2008-04-15
  • 打赏
  • 举报
回复

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DropDownList.aspx.cs" Inherits="DropDownList" %>

<!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 runat="server">
<title>无标题页 </title>
</head>
<body>
<form id="form1" runat="server">
<script >
function doclick()
{
//debugger;
//document.getElementById("Option4").scrollIntoView(true);
document.getElementById("Option4").scrollIntoView(false);
}
</script>
<div>
<select id="select1" size="3" style="height:300px;width:200px" >
<option id="Option0" value="0" title="北京">北京 </option>
<option id="Option1" value="1" title="上海">上海 </option>
<option id="Option2" value="2" title="天津">天津 </option>
<option id="Option3" value="3" title="重庆">重庆 </option>
<option id="Option4" value="4" title="河北">河北 </option>
<option id="Option5" value="5" title="河南">河南 </option>
<option id="Option6" value="6" title="山东">山东 </option>
<option id="Option7" value="7" title="山西">山西 </option>
<option id="Option8" value="8" title="湖南">湖南 </option>
<option id="Option9" value="9" title="湖北">湖北 </option>
<option id="Option10" value="10" title="辽宁" selected="selected">辽宁 </option>
<option id="Option12" value="11" title="辽宁">吉林 </option>
<option id="Option13" value="12" title="辽宁">黑龙江 </option>
<option id="Option14" value="13" title="辽宁">内蒙 </option>
<option id="Option15" value="14" title="辽宁">陕西 </option>
<option id="Option16" value="15" title="辽宁">安徽 </option>
<option id="Option11" value="16" title="辽宁">江苏 </option>
</select>

</div>
<input type="button" value="选择" onclick="doclick()" />
</form>
</body>
</html>
lxtrayn 2008-04-15
  • 打赏
  • 举报
回复
改变selectedIndex即可
  • 打赏
  • 举报
回复
按你上面那个的VLAUE的值,也可以
document.getElementById("select1").selectedIndex=document.getElementById("Option4").value;
  • 打赏
  • 举报
回复

<script >
function doclick()
{
//debugger;
//document.getElementById("Option4").scrollIntoView(true);
//document.getElementById("Option4").scrollIntoView(false);
document.getElementById("select1").selectedIndex=4;
}
</script>
这样就可以搞定了
  • 打赏
  • 举报
回复
汗!不是这么弄吧
是应该 <option id="Option10" value="10" title="辽宁" selected="selected">辽宁 </option>
根据selected="selected"的变化而变化吧

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧