Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Требуется совет в реализации. (https://javascript.ru/forum/dom-window/3448-trebuetsya-sovet-v-realizacii.html)

cker 22.04.2009 12:04

Я попробовал разместить див. Указываю ему ширину 100% и высоту 100%.
Див появляется только в области видимости в броузере. А если проскроллить ниже, то там див уже не накрывает собой окно.

Riim 22.04.2009 12:06

Абсолютно с позиционированный див, перекрывающий весь документ. z-index на 1 меньше чем у перетаскиваемого блока.

AzriMan 22.04.2009 12:19

Цитата:

Сообщение от cker (Сообщение 17334)
А как это "полупрозрачный див"?

http://htmlbook.ru/css/opacity.html

а для разных браузеров можно сделать так:
/* Функция кроссбраузерной установки прозрачности
Пример: setElementOpacity(document.body, 0.5); //сделать документ прозрачным на половину
*/
function setElementOpacity(oElem, nOpacity)
{
	var p = getOpacityProperty();
	(setElementOpacity = p=="filter"?new Function('oElem', 'nOpacity', 'nOpacity *= 100;	var oAlpha = oElem.filters["DXImageTransform.Microsoft.alpha"] || oElem.filters.alpha;	if (oAlpha) oAlpha.opacity = nOpacity; else oElem.style.filter += "progid:DXImageTransform.Microsoft.Alpha(opacity="+nOpacity+")";'):p?new Function('oElem', 'nOpacity', 'oElem.style.'+p+' = nOpacity;'):new Function)(oElem, nOpacity);
}


// Функция getOpacityProperty() возвращает свойство которое используется для смены прозрачности или undefined, и может использоваться для проверки возможности изменения прозрачности браузером
function getOpacityProperty()
{
	var p;
	if (typeof document.body.style.opacity == 'string') p = 'opacity';
	else if (typeof document.body.style.MozOpacity == 'string') p =  'MozOpacity';
	else if (typeof document.body.style.KhtmlOpacity == 'string') p =  'KhtmlOpacity';
	else if (document.body.filters && navigator.appVersion.match(/MSIE ([\d.]+);/)[1]>=5.5) p =  'filter';
	
	return (getOpacityProperty = new Function("return '"+p+"';"))();
}


или в стилях:
Цитата:

<style type="text/css">
img {
filter:alpha(opacity=30);
-moz-opacity: 0.3;
-khtml-opacity: 0.3;
opacity: 0.3;
}
</style>
(c) http://www.tigir.com/opacity.htm
(сам использую этот скрипт. удобно)

Kolyaj 22.04.2009 12:20

И у дива должен быть установлен фон, иначе в ИЕ он не будет ничего перекрывать.

cker 23.04.2009 12:01

Я немогу сделать див на всю высоту броузера с учетом прокрутки. Ниже прокрутки у меня див уже не раширяется. Стоит абсолют; ширина, высота по 100%

Riim 23.04.2009 14:10

Цитата:

Сообщение от cker
Стоит абсолют; ширина, высота по 100%

Определение размеров документа:
http://javascript.ru/forum/misc/1166...j-chastyu.html

----

А разве стоит еще беспокоиться о MozOpacity и KhtmlOpacity? Вроде браузеры их, использующие, давно умерли или перешли на opacity.

idler 23.04.2009 14:12

А как это "полупрозрачный див"?
{
-moz-opacity: 0.5;
opacity: 0.5;
filter: alpha(opacity=50);
}

а вообще они наверное ставят обработчик только в окне iframe, а при попытке перетаскивания передают комманду в родительское окно, где срабатывает функция, которая позиционирует iframe

cker 23.04.2009 14:51

Вложений: 1
Да, с высотой окна все получилось, спасибо.
Только вот обнаружил, что при перетаскивании моего дива по окну броузера иногда в броузере происходит выделение текста =( Использовал пример как здесь: Вложение 91
Может есть лучше реализация перетаскивания? У меня ж в этом диве еще ифрейм.

AzriMan 23.04.2009 14:55

Цитата:

Сообщение от Riim (Сообщение 17430)
А разве стоит еще беспокоиться о MozOpacity и KhtmlOpacity? Вроде браузеры их, использующие, давно умерли или перешли на opacity.

это из серии "Ниже IE6 жизни нет"? :)

Kolyaj 23.04.2009 15:08

Цитата:

Сообщение от cker
Только вот обнаружил, что при перетаскивании моего дива по окну броузера иногда в броузере происходит выделение текста =(

В обработчике mousedown, запускающим перетаскивание, останавливайте обработку события.


Часовой пояс GMT +3, время: 00:39.