Динамически найти положение кнопки asp.net? - PullRequest
0 голосов
/ 08 марта 2011

Я написал одну функцию javascript для получения позиции кнопки и назначил ее asp: updateprogress, но я хочу применить положение кнопки к элементу div в коде или элементу управления меткой в ​​updateprogress, чтобы не обновлять прогресс. 1001 *

<asp:UpdateProgress ID="UpdateProgress2"
                    runat="server"
                    AssociatedUpdatePanelID="SendMailUpdatePanel"
                    DisplayAfter="0">
    <ProgressTemplate>
        <div id="blur" style="top: 0px; left: 0px; width: 99%; height: 5000px; position: absolute;background-color: white; z-index: 999; filter: alpha(opacity=50); opacity: 0.5;-moz-opacity: 0.85; padding-top: 25%; padding-left: 30%;" />
        <div id="progress" style="text-align: center; width: 444px; border: 1px solid black;padding: 10px; background-color: #eee; z-index: 998; filter: alpha(opacity=500);-moz-opacity: 1.00;">
            <b>Mail is being Sent! Please Wait...</b>
            <br />
            <asp:Image ID="LoadImage"
                       runat="server"
                       ImageUrl="~/Images/spinner.gif" />
            <br />
        </div>
    </ProgressTemplate>
</asp:UpdateProgress>

Моя функция JavaScript:

function getPosition(btnSendResume, progress)
{
  var btnSendRe = document.getElementById(btnSendResume);
  var divp = document.getElementById(progress);
  divp.style.display="block";
  divp.style.left=btnSendRe.offsetLeft;
  divp.style.top=btnSendRe.offsetTop + btnSendRe.offsetHeight - 40;
}

Я написал следующее под нажатием кнопки:

btnSendResume.Attributes.Add("onclick", "getPosition('" + btnSendResume.ClientID + "','" + UpdateProgress2.FindControl(progress).ClientID + "');");

Но выдает ошибку, что progress не существует в текущем контексте.

Ответы [ 2 ]

1 голос
/ 08 марта 2011

Ваш <div id="progress" - это обычный элемент HTML, а не серверный элемент управления.
Вы должны просто написать document.getElementById("progress").

0 голосов
/ 08 марта 2011

Вы можете сделать это с помощью Jquery.

Простое смещение () вернет левое и верхнее положение элемента управления.

function getPosition(btnSendResume, progress)
   {
     var btnSendReOffset = $('#btnSendResume').offset();
     var btnSendRe = $('#btnSendResume');
     var divp = document.getElementById(progress);
     divp.style.display="block";
     divp.style.left=btnSendReOffset.left;
     divp.style.top=btnSendReOffset.top+ btnSendRe.height() - 40;
  }

Вы можете добавить событие нажатия на кнопку при загрузке окна и запустить свою функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...