#jquery
#jquery
Вопрос:
моя страница очень большая. итак, грядет вертикальная полоса прокрутки. предположим, я нахожусь в середине страницы, откуда я могу перемещаться вверх и вниз с помощью прокрутки. я хочу, чтобы, когда я нахожусь в середине страницы, мой div должен быть размещен в центре видимой области страницы, а не в центре страницы. мне нужно показать div в центре видимой области на странице окна моего браузера. я не уверен, что смогу объяснить, что я хочу сказать, или нет. видимая область означает область, которую я могу видеть одновременно без прокрутки, а не всю страницу.
поэтому, пожалуйста, подскажите мне, как получить высоту и ширину видимой области страницы, а не всей страницы. подскажите мне, как разместить в центре видимой области страницы, но не всей страницы. видимая область означает не всю страницу, а область, которую я могу видеть одновременно, не прокручивая страницу.
я искал в Google и нашел направляющую строку, и я написал соответствующий код, но он не сработал.
итак, вот мой код, который не работает в соответствии с моими требованиями.
$(".ui-dialog").animate({
left: viewportwidth / 2 - $(".ui-dialog").outerWidth() / 2,
top: viewportheight / 2 - $(".ui-dialog").outerHeight / 2
}, 1000);
определить область видового экрана, например
var viewportwidth;
var viewportheight;
// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
if (typeof window.innerWidth != 'undefined') {
viewportwidth = window.innerWidth,
viewportheight = window.innerHeight
}
// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
else if (typeof document.documentElement != 'undefined'
amp;amp; typeof document.documentElement.clientWidth !=
'undefined' amp;amp; document.documentElement.clientWidth != 0) {
viewportwidth = document.documentElement.clientWidth,
viewportheight = document.documentElement.clientHeight
}
// older versions of IE
else {
viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
viewportheight = document.getElementsByTagName('body')[0].clientHeight
}
это не работает в браузере FF, и это вызывает проблему в IE, что все, что я размещаю в своем диалоговом окне jquery, исчезло из поля зрения.
поэтому, пожалуйста, помогите мне разобраться, как отобразить div в видимой области страницы.
Спасибо
Ответ №1:
Для этого вам не нужен JavaScript. Вы можете просто использовать «position: fixed;».
Пример: http://jsfiddle.net/hENGL /
Комментарии:
1. как это сделать или настройка всего css с помощью jquery.
2. Не могли бы вы уточнить, чего именно вы хотите достичь? Если бы мне нужно было создать всплывающее окно, я бы, вероятно, сделал следующее: добавьте html-лайтбокс на страницу в начале или в конце документа, задайте лайтбоксу класс (например, class=»lightbox»), затем я добавляю css класса в мой файл css (как в примере, но добавьте следующее «display: none;», чтобы скрыть его по умолчанию), затем мне нужно показать лайтбокс, я бы сделал это с помощью jQuery с помощью этой команды: $(«.yourclassname»).show();
3. Насколько это дает рабочее решение вопроса OPs, на самом деле это не отвечает на вопрос. Такое предложение должно быть комментарием, а не принятым ответом.