将水平滚动条滑块的起始位置定位在右侧

时间:2010-06-30 08:31:43

标签: c# javascript scrollbar

我想在不使用css方向的情况下将水平滚动条滑块设置到右侧:“ltr”或dir =“ltr”或asp:Panel direction =“rightToLeft”....

我只想访问控制水平滚动条滑块的对象,为其指定位置。 来自aspx页面或aspx.cs。

aspx页面:

<script type="text/javascript" src="../js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="../js/BeginScrollFromRight.js"></script> . . .
<body id="body" style="overflow:auto; height:100%;width:100%;"> . . . </body>

js page:

function BeginScrollFromRight() 
{
  $("#body").scrollLeft($(window).width());
}

我需要对方向产生相同的效果:rtl但仅适用于水平滚动条,因为使用方向时不支持其他对象:rtl

<td id="tdView" runat="server" dir="ltr" align="center">
                        <table onclick="hideMenusComplex();" oncontextmenu="hideMenusComplex();" id="tblView" runat="server">
                            <tr>
                                <td>
                                    <asp:Label ID="lblView" runat="server" ForeColor="#5E82D6" Visible="false"><%= translate("View : ") %></asp:Label>
                                </td>
                                <td>
                                    &nbsp;</td>
                                <td>
                                    <cc1:Combobox  AlignContainer="Center" ID="ddlViews" runat="server"  OnClientChange="onChangeValue()"
                                        FolderStyle="../EsStyles/ComboXpBlue" AutoPostbackEnable="false" Width ="200">
                                    </cc1:Combobox>
                                </td>
                                 <td>
                                    <asp:Label ID="lblViewArabic" runat="server" ForeColor="#5E82D6" Visible="false"><%= translate("View : ") %></asp:Label>
                                </td>
                            </tr>
                        </table>
                    </td>

这是代码,而ddlViews是以错误的方式打开的下拉列表,控件左侧的控件下方的下拉列表未打开。

1 个答案:

答案 0 :(得分:1)

对于从右到左阅读的语言,direction: rtl实际上是唯一能够很好地运作的方式。

如果您只想向右滚动 jQuery JavaScript,请执行以下操作:

$("#YourContentDiv").scrollLeft($("#YourContentDiv").width());

或:

$(window).scrollLeft($(window).width());

会这样做。


如果您是jQuery的新用户,可以将其添加到您的页面中,例如:。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>

<script type="text/javascript">
    function jQueryMain ()
    {
        $("#YourContentDiv").scrollLeft($("#YourContentDiv").width());

        $(window).scrollLeft($(window).width());
    }


    $(document).ready (jQueryMain);
</script>


PS:jQuery从这样的JavaScript中消除了大部分跨浏览器的麻烦。