Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.05.2009, 18:51
Vo.One
 
Сообщений: n/a

[новичек] Не работает вызов ф-ции по событию onMouseOver
Суть состоит в замене background-картинки div'a при хождении мышкой по ссылкам. Если вызывать ф-цию по событию клика, то все работает.
А вот с hover'ом - не желает. Куда копать?
Заранее благодарю.

//change the opacity for different browsers
function changeOpac(opacity, id) {
	var object = document.getElementById(id).style; 
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

// fading
function blendimage(divid, imageid, imagefile, millisec) {
	var speed = Math.round(millisec / 100);
	var timer = 0;
	
	//set the current image as background
	document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")";
	
	//make image transparent
	changeOpac(0, imageid);
	
	//make new image
	document.getElementById(imageid).src = imagefile;

	//fade in image
	for(i = 0; i <= 100; i++) {
		setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
		timer++;
	}
}


<div style="background-image: url(product-selector/0.jpg); background-repeat: no-repeat; width: 720px; height: 200px;" id="blenddiv">
		<img src="product-selector/0.jpg" style="width: 720px; height: 200px; border: 0 none; filter: alpha(opacity=0); -moz-opacity: 0; -khtml-opacity: 0; opacity: 0;" id="blendimage" alt="" />
</div>
	
<a href="#" onMouseOver = "blendimage('blenddiv','blendimage','product-selector/8.jpg',100);" >НЕ_Работает</a>

<a href="javascript:blendimage('blenddiv','blendimage','product-selector/8.jpg',100);" >Работает</a>
Ответить с цитированием
  #2 (permalink)  
Старый 15.05.2009, 19:10
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

у вас есть функция blendimage и <div id='blendimage'>
в некоторых браузерах элементы по своим ID попадают в глобальную область видимости.
рекомендую дать див-у другой ид.
еще можно так:
<a href="#" onmouseover = "window.blendimage('blenddiv','blendimage','product-selector/8.jpg',100);" >НЕ_Работает</a>

но это не правильное решение проблемы, и возможно не везде будет работать
Ответить с цитированием
  #3 (permalink)  
Старый 16.05.2009, 10:08
Vo.One
 
Сообщений: n/a

[новичек] Не работает вызов ф-ции по событию onMouseOver
Благодарю, в FF, Opera, IE6 все работает наотличненько1!!111
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FireFox: onmouseover не работает при зажатой кнопке мыши no. Общие вопросы Javascript 4 19.08.2008 13:43