ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Ошибка в скрипте Javascript
  #1  
Старый 13.08.2008, 12:50
Аватар для ZneP
ZneP
Познающий
Регистрация: 07.11.2006
Сообщений: 59
Провел на форуме:
180703

Репутация: 11
По умолчанию Ошибка в скрипте Javascript

Добрый день!


Написал яваскрипт, который делает отображение картинки с Fade эффектом.

В осле и лисе работает замечательно, в опере же появляется картинка (без эффекта) и сразу же исчезает.

Из-за чего это все? Помогите разобраться...

Вот исходники
файл index.html

Код:
<html>
<head><title></title></head>

<script type="text/javascript">
var interval_id;
var interval_id1;
var browserdetect;
var mozopacity = 0;
var opacity_step = 10;
var mozopacity_step = 0.101;

function Show_Pointer(text, x, y, l)
{ 
mozopacity = 0; 
if(pointer.style.visibility == 'visible')
{ 
clearInterval(interval_id); 
clearInterval(interval_id1); 
pointer.style.visibility == 'hidden'; 
} 

browserdetect=pointer.filters? "ie" : typeof(pointer.style.MozOpacity) == "string" ? "mz" : ""; 

if (browserdetect == "ie")
{ 
pointer.filters.alpha.opacity = "0"; 
pointer.style.pixelLeft=x; 
pointer.style.pixelTop=y; 
pointer_text.style.pixelLeft=l; 
pointer_text.style.pixelTop=7; 
//pointer_table.background = "none"; 
pointer_table.style.filter = "progidXImageTransform.Microsoft.AlphaImageLoader (src='1.jpg', sizingMethod='scale')";
pointer_text.innerText = text; 
} 
else 
{ 
pointer.style.MozOpacity = 0; 
pointer.style.left=x + "px"; 
pointer.style.top=y + "px"; 
pointer_text.style.left=l + "px"; 
pointer_text.style.top="7px"; 
pointer_text.textContent = text; 
} 

pointer.style.visibility = 'visible'; 
interval_id=setInterval("FadeShowLevel()",50); 
} 

function FadeShowLevel() 
{ 
if (browserdetect == "ie") 
pointer.filters.alpha.opacity+=opacity_step; 
else if (browserdetect == "mz") 
mozopacity+=mozopacity_step; 
else pointer.style.visibility = 'hidden'; 

pointer.style.MozOpacity=mozopacity; 

if ((pointer.style.MozOpacity >= 1) || (pointer.filters.alpha.opacity >= 100)) 
{ 
clearInterval(interval_id); 
} 
} 

function Hide_Pointer() 
{ 
clearInterval(interval_id); 
pointer.style.visibility = 'hidden'; 
} 
</script> 

<body bgcolor="#000000"> 
<table border=2 width="1000" align="center"> 
<tr> 
<td class="td_map"> 
<input type="button" onmouseout="Hide_Pointer()" onmouseover="Show_Pointer('', 600, 100, 50)" value="111111" /> 
</td> 
</tr> 
</table> 

<div id="pointer" style="position:absolute;left:0px;top:0px;bottom:0px;righ t:0px;visibility:hidden;filter:alpha(opacity=0);-moz-opacity:0"> 
<font id="pointer_text" align="center" style="position:absolute;colorrange;font-family:Verdana;font-size:13;font-weight:bold;filter:alpha(opacity=100)"></font> 
<table id="pointer_table" width="173" height="138" background="1.jpg"> 
<tr> 
<td align="center" valign="top"></td> 
</tr> 
</table> 
</div> 

</body> 

</html>
В качестве всплывающей картинки возмите jpg изображение и переименуйте в 1.jpg

Последний раз редактировалось ZneP; 13.08.2008 в 14:04..
 
Ответить с цитированием

  #2  
Старый 13.08.2008, 13:15
Аватар для m0nsieur
m0nsieur
Участник форума
Регистрация: 08.04.2008
Сообщений: 242
Провел на форуме:
2230263

Репутация: 229
По умолчанию

У меня только в ФФ заработал скрипт и то через ошибки, спотыкается тут

if ((pointer.style.MozOpacity >= 1) || (pointer.filters.alpha.opacity >= 100))
{
clearInterval(interval_id);
}
в ФФ желательно писать не pointer.filters.alpha.opacity, а document.getElementById(pointer).filters.alpha.opa city т.е. получать элемент через document.getElementById() как по стандарту.

В ИЕ и Опера не заработало =(

Последний раз редактировалось m0nsieur; 13.08.2008 в 13:36..
 
Ответить с цитированием

  #3  
Старый 13.08.2008, 13:20
Аватар для Chaak
Chaak
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме:
5321514

Репутация: 3313


Отправить сообщение для Chaak с помощью ICQ
По умолчанию

В опере яваскрипт урезанный, многие функции не поддерживаются.
 
Ответить с цитированием

  #4  
Старый 13.08.2008, 13:59
Аватар для ZneP
ZneP
Познающий
Регистрация: 07.11.2006
Сообщений: 59
Провел на форуме:
180703

Репутация: 11
По умолчанию

Opacity в опере должно работать. есть у нее такая функция


вот новый код, чтобы и в ИЕ работал (лишняя строчка была):


Код:
<html>
<head><title></title></head>

<script type="text/javascript">
var interval_id;
var interval_id1;
var browserdetect;
var mozopacity = 0;
var opacity_step = 10;
var mozopacity_step = 0.101;

function Show_Pointer(text, x, y, l)
{ 
mozopacity = 0; 
if(pointer.style.visibility == 'visible')
{ 
clearInterval(interval_id); 
clearInterval(interval_id1); 
pointer.style.visibility == 'hidden'; 
} 

browserdetect=pointer.filters? "ie" : typeof(pointer.style.MozOpacity) == "string" ? "mz" : ""; 

if (browserdetect == "ie")
{ 
pointer.filters.alpha.opacity = "0"; 
pointer.style.pixelLeft=x; 
pointer.style.pixelTop=y; 
pointer_text.style.pixelLeft=l; 
pointer_text.style.pixelTop=7; 
pointer_table.style.filter.progidX = "ImageTransform.Microsoft.AlphaImageLoader (src='1.jpg', 

sizingMethod='scale')";
pointer_text.innerText = text; 
} 
else 
{ 
pointer.style.MozOpacity = 0; 
pointer.style.left=x + "px"; 
pointer.style.top=y + "px"; 
pointer_text.style.left=l + "px"; 
pointer_text.style.top="7px"; 
pointer_text.textContent = text; 
} 

pointer.style.visibility = 'visible'; 
interval_id=setInterval("FadeShowLevel()",50); 
} 

function FadeShowLevel() 
{ 
if (browserdetect == "ie") 
pointer.filters.alpha.opacity+=opacity_step; 
else if (browserdetect == "mz") 
mozopacity+=mozopacity_step; 
else pointer.style.visibility = 'hidden'; 

pointer.style.MozOpacity=mozopacity; 

if ((pointer.style.MozOpacity >= 1) || (pointer.filters.alpha.opacity >= 100)) 
{ 
clearInterval(interval_id); 
} 
} 

function Hide_Pointer() 
{ 
clearInterval(interval_id); 
pointer.style.visibility = 'hidden'; 
} 
</script> 

<body bgcolor="#000000"> 
<table border=2 width="1000" align="center"> 
<tr> 
<td class="td_map"> 
<input type="button" onmouseout="Hide_Pointer()" onmouseover="Show_Pointer('', 600, 100, 50)" value="111111" /> 
</td> 
</tr> 
</table> 

<div id="pointer" style="position:absolute;left:0px;top:0px;bottom:0px;righ   

t:0px;visibility:hidden;filter:alpha(opacity=0);-moz-opacity:0"> 
<font id="pointer_text" align="center" 

style="position:absolute;colorrange;font-family:Verdana;font-size:13;font-weight:bold;filter:alpha(opacity=100)"></f

ont> 
<table id="pointer_table" width="173" height="138" background="1.jpg"> 
<tr> 
<td align="center" valign="top"></td> 
</tr> 
</table> 
</div> 

</body> 

</html>

Последний раз редактировалось ZneP; 13.08.2008 в 14:03..
 
Ответить с цитированием

  #5  
Старый 13.08.2008, 14:16
Аватар для m0nsieur
m0nsieur
Участник форума
Регистрация: 08.04.2008
Сообщений: 242
Провел на форуме:
2230263

Репутация: 229
По умолчанию

Opacity в опере работает точно, вот пример тому - http://www.tigir.com/opacity.htm

А новый код в ИЕ все равно не заработал.
 
Ответить с цитированием

  #6  
Старый 13.08.2008, 14:24
Аватар для ZneP
ZneP
Познающий
Регистрация: 07.11.2006
Сообщений: 59
Провел на форуме:
180703

Репутация: 11
По умолчанию

Тэги CODE на форуме разрезали строки и делали отступы.


<html>
<head><title></title></head>

<script type="text/javascript">
var interval_id;
var interval_id1;
var browserdetect;
var mozopacity = 0;
var opacity_step = 10;
var mozopacity_step = 0.101;

function Show_Pointer(text, x, y, l)
{
mozopacity = 0;
if(pointer.style.visibility == 'visible')
{
clearInterval(interval_id);
clearInterval(interval_id1);
pointer.style.visibility == 'hidden';
}

browserdetect=pointer.filters? "ie" : typeof(pointer.style.MozOpacity) == "string" ? "mz" : "";

if (browserdetect == "ie")
{
pointer.filters.alpha.opacity = "0";
pointer.style.pixelLeft=x;
pointer.style.pixelTop=y;
pointer_table.style.filter = "progidX:ImageTransform.Microsoft.AlphaImageLoader (src='1.jpg',sizingMethod='scale')";
pointer_text.innerText = text;
}
else
{
pointer.style.MozOpacity = 0;
pointer.style.left=x + "px";
pointer.style.top=y + "px";
pointer_text.textContent = text;
}

pointer.style.visibility = 'visible';
interval_id=setInterval("FadeShowLevel()",50);
}

function FadeShowLevel()
{
if (browserdetect == "ie")
pointer.filters.alpha.opacity+=opacity_step;
else if (browserdetect == "mz")
mozopacity+=mozopacity_step;
else pointer.style.visibility = 'hidden';

pointer.style.MozOpacity=mozopacity;

if ((pointer.style.MozOpacity >= 1) || (pointer.filters.alpha.opacity >= 100))
{
clearInterval(interval_id);
}
}

function Hide_Pointer()
{
clearInterval(interval_id);
pointer.style.visibility = 'hidden';
}
</script>

<body bgcolor="#000000">
<table border=2 width="1000" align="center">
<tr>
<td class="td_map">
<input type="button" onmouseout="Hide_Pointer()" onmouseover="Show_Pointer('', 600, 100, 50)" value="111111" />
</td>
</tr>
</table>

<div id="pointer" style="position:absolute;left:0px;top:0px;bottom:0 px;right:0px;visibility:hidden;filter:alpha(opacit y=0);-moz-opacity:0">
<font id="pointer_text" align="center"
style="position:absolute;colorrange;font-family:Verdana;font-size:13;font-weight:bold;filter:alpha(opacity=100)"></font>
<table id="pointer_table" width="173" height="138" background="1.jpg">
<tr>
<td align="center" valign="top"></td>
</tr>
</table>
</div>

</body>

</html>
 
Ответить с цитированием

  #7  
Старый 13.08.2008, 15:52
Аватар для ZneP
ZneP
Познающий
Регистрация: 07.11.2006
Сообщений: 59
Провел на форуме:
180703

Репутация: 11
По умолчанию

Все заработало

я взял пример готового скрипта (opacity.js) по ссылке http://www.tigir.com/opacity.htm, которую выложил m0nsieur, и приспособил к своему коду

Спасибо всем! ))))
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сборник пыльной библиотеки \буржуйская\ xcedz Болталка 5 12.07.2008 18:12
JavaScript Хакинг m0s]{ Чужие Статьи 0 08.07.2008 00:09
JavaScript Hijacking [Raz0r] Авторские статьи 1 25.01.2008 20:32
Bypassing JavaScript Filters the Flash! Attack k00p3r Чужие Статьи 0 12.07.2005 16:11



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ