我的网页有一个按钮在不同情况下会出现在不同位置,现在需要动态设定一个下拉框的坐标,往他和那个按钮要保持平行,请问各位该如何做?

解决方案 »

  1.   

    js是可以实现这样的按钮,先预留好这些位置,然后,动态添加这些按钮即可,比如appendTo
      

  2.   

    在codebehind中也可以设置<div id="output_vector_result" runat="server" style="width: 272px; height: 218px; top: -630px; margin-left: 225px; position: relative;">
                            <asp:Image ID="imgResult" runat="server"/> 
                        </div>Codebehind中分析并控制div的style:
     Protected Sub move_down_Click(ByVal sender As Object, ByVal e As EventArgs) Handles move_down.Click
            MoveResult(0, 10, False)
        End Sub    'Move output_vector_result div
        'absolute means x and y is absolute or relative
        Private Sub MoveResult(ByRef x As Integer, ByRef y As Integer, ByRef absolute As Boolean)
            If (Not RecipeValue Is Nothing) Then
                Dim orgStyleArray As String() = output_vector_result.Style.Value.ToLower().Trim().Split(New Char() {";", ":"})            Dim sb As StringBuilder = New StringBuilder(output_vector_result.Style.Value.Length)            For i As Integer = 0 To orgStyleArray.Length Step 2
                    If (Not String.IsNullOrEmpty(orgStyleArray(i).Trim())) Then
                        Dim pxBegin As Integer = orgStyleArray(i + 1).IndexOf("px")
                        sb.Append(orgStyleArray(i) + ":")
                        If (orgStyleArray(i).Trim().CompareTo("top") = 0) Then
                            If (absolute) Then
                                sb.Append(y.ToString() + "px;")
                            Else
                                Dim top As Integer = Integer.Parse(orgStyleArray(i + 1).Substring(0, pxBegin))
                                sb.Append((top + y).ToString() + "px;")
                            End If                    ElseIf (orgStyleArray(i).Trim().CompareTo("margin-left") = 0) Then
                            If (absolute) Then
                                sb.Append(x.ToString() + "px;")
                            Else
                                Dim left As Integer = Integer.Parse(orgStyleArray(i + 1).Substring(0, pxBegin))
                                sb.Append((left + x).ToString() + "px;")
                            End If
                        Else
                            sb.Append(orgStyleArray(i + 1) + ";")
                        End If
                    End If            Next            output_vector_result.Style.Value = sb.ToString()
            End If
        End Sub