[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: почему не работает скрипт в ИЕ ?
Crash2007
привет всем! =)

подскажите пожалуйста почему данный код не работает в ие:
<html>
<head>
<style>

#box {
border:1px solid #424242;
position:absolute;
background-color:#FFFFFF;
display:none;
}
</style>
</head>
<body>

<span
onсlick="ShowBox()">open</span>

<div
id="box">
woohoo
</div>
<script>

window.onload = function() {
box = document.getElementById('box');
}
function ShowBox() {
box.style.display = 'block';
document.onclick = function(event) {
event = event || event.window;
box.style.left = event.clientX;
box.style.top = event.clientY;
};
}
function HideBox() {
box.style.display = 'none';
}
</script>
</body>
</html>
зы.скрипт для вывода модального окна



Спустя 40 минут, 13 секунд (25.02.2011 - 16:01) Crash2007 написал(а):
я оптеделил что в ИЕ style.display не работает
кто знает как это исправить?

Спустя 1 минута, 36 секунд (25.02.2011 - 16:02) inpost написал(а):
Crash2007
Мне кажется, но как раз только в ИЕ и должен работать =) Надо указывать расстояние в px.

Спустя 3 минуты, 39 секунд (25.02.2011 - 16:06) Crash2007 написал(а):
тут? :
		box.style.left = event.clientX;
box.style.top = event.clientY;


нет.в ие не работает..=(

Спустя 2 минуты, 6 секунд (25.02.2011 - 16:08) inpost написал(а):
Crash2007
ага, потому что позиции left,top необходимо писать: 220px, 100px.

Спустя 1 час, 8 минут, 16 секунд (25.02.2011 - 17:16) Crash2007 написал(а):
в общем все норм..там в ие сообщение выскакивало..но я внимания не обращал..

проблема теперь в ФФ....
function ShowBox() {
box.style.display = 'block';
if(browserDetectNav()[0] == 'MSIE' || browserDetectNav()[0] == 'Chrome') {
box.style.left = event.clientX + 'px';
box.style.top = event.clientY + 'px';
} else if(browserDetectNav()[0] == 'Firefox') {
document.onclick = function(event) {
event = event || event.window;
box.style.left = event.clientX + 'px';
box.style.top = event.clientY + 'px';
};
}
}
и только document.onclick в фф работает....но при первом клике на "open" ,появляется окошко...а дальше можно кликать на любую область...и оно появляется там же...как этого избежать?

Спустя 3 минуты, 37 секунд (25.02.2011 - 17:20) Crash2007 написал(а):
вот весь код.попробуйте протестируйте пожалуйста кто то у себя..скажите как решить проблему.. :unsure:

<html>
<head>
<style>

#box {
border:1px solid #424242;
position:absolute;
background-color:#FFFFFF;
display:none;
}
</style>
</head>
<body>

<span
onclick="ShowBox()" id="ass">open</span>

<div
id="box">
woohoo
</div>
<div
id="info"></div>
<script>

window.onload = function() {
box = document.getElementById('box');
}
function ShowBox() {
box.style.display = 'block';
if(browserDetectNav()[0] == 'MSIE' || browserDetectNav()[0] == 'Chrome') {
box.style.left = event.clientX + 'px';
box.style.top = event.clientY + 'px';
} else if(browserDetectNav()[0] == 'Firefox') {
document.onclick = function(event) {
event = event || event.window;
box.style.left = event.clientX + 'px';
box.style.top = event.clientY + 'px';
};
}
}

function HideBox() {
box.style.display = 'none';
}


function browserDetectNav(chrAfterPoint)
{
var
UA=window.navigator.userAgent, // содержит переданный браузером юзерагент
//--------------------------------------------------------------------------------

OperaB = /Opera[ \/]+\w+\.\w+/i, //
OperaV = /Version[ \/]+\w+\.\w+/i, //
FirefoxB = /Firefox\/\w+\.\w+/i, // шаблоны для распарсивания юзерагента
ChromeB = /Chrome\/\w+\.\w+/i, //
SafariB = /Version\/\w+\.\w+/i, //
IEB = /MSIE *\d+\.\w+/i, //
SafariV = /Safari\/\w+\.\w+/i, //
//--------------------------------------------------------------------------------

browser = new Array(), //массив с данными о браузере
browserSplit = /[ \/\.]/i, //шаблон для разбивки данных о браузере из строки
OperaV = UA.match(OperaV),
Firefox = UA.match(FirefoxB),
Chrome = UA.match(ChromeB),
Safari = UA.match(SafariB),
SafariV = UA.match(SafariV),
IE = UA.match(IEB),
Opera = UA.match(OperaB);

//----- Opera ----
if ((!Opera=="")&(!OperaV=="")) browser[0]=OperaV[0].replace(/Version/, "Opera")
else
if
(!Opera=="") browser[0]=Opera[0]
else
//----- IE -----
if (!IE=="") browser[0] = IE[0]
else
//----- Firefox ----
if (!Firefox=="") browser[0]=Firefox[0]
else
//----- Chrom ----
if (!Chrome=="") browser[0] = Chrome[0]
else
//----- Safari ----
if ((!Safari=="")&&(!SafariV=="")) browser[0] = Safari[0].replace("Version", "Safari");
//------------ Разбивка версии -----------

var
outputData; // возвращаемый функцией массив значений
// [0] - имя браузера, [1] - целая часть версии
// [2] - дробная часть версии

if (browser[0] != null) outputData = browser[0].split(browserSplit);
if ((chrAfterPoint==null)&&(outputData != null))
{
chrAfterPoint=outputData[2].length;
outputData[2] = outputData[2].substring(0, chrAfterPoint); // берем нужное ко-во знаков
return(outputData);
}
else return(false);
}
//alert(browserDetectNav()[0]);
</script>
</body>
</html>


_____________
Рисую на PHP :)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.