Как я могу получить абсолютное положение объекта на странице в JavaScript? [дубликат]

Я был бы точно так же, как для указания на что-то в этих ответах. В дате/строке формата времени, '/' будет заменен [1 112] независимо от того, что разделитель даты пользователя , и ':' будет заменен [1 113] независимо от того, что разделитель времени пользователя . Таким образом, если я определил свой разделитель даты, чтобы 'быть' (в Региональном и апплете панели управления Опций Языка, "intl.cpl"), и мой разделитель времени, чтобы быть'?' (просто притворяются, что я являюсь сумасшедшим как этот), тогда

DateTime.Now.ToString("MM/dd/yyyy h:mm tt")

возвратился бы

01.05.2009 6?01 PM

В большинстве случаев, это - то, что Вы хотите, потому что Вы хотите уважать настройки пользователя. Если, однако, Вы требуете , формат является чем-то определенным (скажите, если это идет в проанализированный, отступают кем-то еще вниз провод), то необходимо выйти из этих специальных символов:

DateTime.Now.ToString("MM\\/dd\\/yyyy h\\:mm tt")

или

DateTime.Now.ToString(@"MM\/dd\/yyyy h\:mm tt")

, который теперь возвратился бы

01/05/2009 6:01 PM

РЕДАКТИРОВАНИЕ :

С другой стороны, если Вы действительно хотите уважать настройки пользователя, необходимо использовать одну из стандартной даты/строк формата времени, так, чтобы Вы уважали не только выбор пользователем разделителей, но также и общий формат даты и/или время.

DateTime.Now.ToShortDateString()
DateTime.Now.ToString("d")

Оба возвратили бы "1/5/2009" с помощью стандартных американских опций или "05/01/2009" с помощью стандартных британских опций, например.

DateTime.Now.ToLongDateString()
DateTime.Now.ToString("D")

Оба возвратились бы "понедельник, 05 января 2009" в американской локали, или "05 января 2009" в Великобритании.

DateTime.Now.ToShortTimeString()
DateTime.Now.ToString("t");

"18:01" в США, "18:01" в Великобритании.

DateTime.Now.ToLongTimeString()
DateTime.Now.ToString("T");

"18:01:04" в США, "18:01:04" в Великобритании.

DateTime.Now.ToString()
DateTime.Now.ToString("G");

"05.01.2009 18:01:04" в США, "01.05.2009 18:01:04" в Великобритании.

Много других опций доступны. См. документы для [1 110] стандартные строки формата даты и времени и пользовательские строки формата даты и времени .

82
задан bfavaretto 30 August 2012 в 00:59
поделиться

1 ответ

var cumulativeOffset = function(element) {
    var top = 0, left = 0;
    do {
        top += element.offsetTop  || 0;
        left += element.offsetLeft || 0;
        element = element.offsetParent;
    } while(element);

    return {
        top: top,
        left: left
    };
};

(Метод, бессовестно украденный из PrototypeJS; стиль кода, имена переменных и возвращаемое значение изменены, чтобы защитить невиновных)

119
ответ дан 24 November 2019 в 09:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: