Как я заставляю JavaScript открывать всплывающее окно на текущем мониторе

Если вы знаете точную позицию, будет работать исключение из всех следующих братьев :nth-child().

ul li:not(:nth-child(n+3))

Что бы выбрать все li s до третьего (например, 1-го и 2-го) , Но, по-моему, это выглядит уродливым и очень плотным.

Вы также можете выбрать n-й-правый справа налево:

ul li:nth-child(-n+2)

Что делает то же самое .

21
задан jeremcc 15 September 2008 в 13:11
поделиться

3 ответа

Вы не можете определить монитор, но можно определить положение всплывающего окна, как являющегося относительно, где щелчок заставил окно раскрываться.

Использование getMouseXY () функционируют, чтобы заставить значения передавать как левые и вершина args к window.open () метод. (левые и вершина args только работают с V3 и браузерами).

window.open документы: http://www.javascripter.net/faq/openinga.htm

function getMouseXY( e ) {
    if ( event.clientX ) { // Grab the x-y pos.s if browser is IE.
        CurrentLeft = event.clientX + document.body.scrollLeft;
        CurrentTop  = event.clientY + document.body.scrollTop;
    }
    else {  // Grab the x-y pos.s if browser isn't IE.
        CurrentLeft = e.pageX;
        CurrentTop  = e.pageY;
    }  
    if ( CurrentLeft < 0 ) { CurrentLeft = 0; };
    if ( CurrentTop  < 0 ) { CurrentTop  = 0; };  

    return true;
}
22
ответ дан 29 November 2019 в 20:17
поделиться

пока Вы знаете положение X и Y, которое падает на конкретный монитор, можно сделать:

var x = 0;
var y = 0;
var myWin = window.open(''+self.location,'mywin','left='+x+',top='+y+',width=500,height=500,toolbar=1,resizable=0');
-2
ответ дан 29 November 2019 в 20:17
поделиться

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

Относительное положение мыши (как сказано выше) или исходного окна браузера также может быть полезно, хотя можно предположить, что пользователь использует развернутый браузер (что не обязательно верно).

0
ответ дан 29 November 2019 в 20:17
поделиться
Другие вопросы по тегам:

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