Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Почему скрипт не срабатывает по наведению мыши?

Сообщения:  [1-5] 

 
 автор: Crux   (11.04.2008 в 13:49)   письмо автору
 
   для: coloboc66   (11.04.2008 в 13:33)
 

читаем здесь: http://xpoint.ru/know-how/JavaScript/Atributyi
там ближе к концу статьи как раз описывается по Вашей проблеме

выдержка:

Стандарт DOM, однако, явно предписывает, что второй параметр метода setAttribute() является строкой.

   
 
 автор: coloboc66   (11.04.2008 в 13:33)   письмо автору
 
   для: mechanic   (11.04.2008 в 10:50)
 

Спасибо всем, всё получилось.
to Crux: только не пойму, почему у меня вот здесь неправильно:
areas[i].setAttribute('onmouseover',func1(areas[i].id,areas[i].coords));

Потому что второй второй аргумент в функции setAttribute() должен быть строкой, да?

   
 
 автор: mechanic   (11.04.2008 в 10:50)   письмо автору
 
   для: coloboc66   (11.04.2008 в 10:25)
 


<html>
<head>
<style>

</style>
<script>
var addListener = function() { 
    if ( window.addEventListener ) { 
        return function(el, type, fn) { 
            el.addEventListener(type, fn, false); 
        }; 
    } else if ( window.attachEvent ) { 
        return function(el, type, fn) { 
            var f = function() { 
                fn.call(el, window.event); 
            }; 
            el.attachEvent('on'+type, f); 
        }; 
    } else { 
        return function(el, type, fn) { 
            element['on'+type] = fn; 
        } 
    } 
}();
function func()
{
var areas=document.getElementsByTagName('area');
for(var i=0;i<areas.length;i++) addListener(areas[i],'mouseover',func1);
}
function func1(e)
{
alert('id: '+this.id+'coords: '+this.coords);
}
</script>
</head>
<body onload="func()">
<IMG SRC="../maps/world.jpg" USEMAP="#world" WIDTH=1514 HEIGHT=768 BORDER="0" style="position:absolute;left:10;top:10">
<MAP NAME="world">
     <AREA ID="france" SHAPE="POLY" HREF="#" COORDS="701,155, 703,152, 717,149, 723,147, 722,143, 752,149, 744,163, 749,175, 737,181, 730,179, 724,180, 712,179, 712,174, 715,167, 706,155, 703,157, 701,155">
     <AREA ID="spain" SHAPE="POLY" HREF="#" COORDS="685,183, 685,175, 713,176, 709,181, 729,182, 729,186, 721,187, 718,194, 719,202, 707,210, 700,210, 695,213, 688,208, 693,184, 685,183">
</MAP>

</body>
</html>

   
 
 автор: Crux   (11.04.2008 в 10:34)   письмо автору
 
   для: coloboc66   (11.04.2008 в 10:25)
 

потому-что вот это неверно areas[i].setAttribute('onmouseover',func1(areas[i].id,areas[i].coords));
попробуйте так: areas[i].onmouseover = function(){func1(this.id, this.coords);}

   
 
 автор: coloboc66   (11.04.2008 в 10:25)   письмо автору
 
 

<html>
<head>
<style>

</style>
<script>
function func()
{
var areas=document.getElementsByTagName('area');
for(var i=0;i<areas.length;i++) areas[i].setAttribute('onmouseover',func1(areas[i].id,areas[i].coords));
}
function func1(id,coords)
{
alert('id: '+id+'coords: '+coords);
}
</script>
</head>
<body onload="func()">
<IMG SRC="../maps/world.jpg" USEMAP="#world" WIDTH=1514 HEIGHT=768 BORDER="0" style="position:absolute;left:0;top:0">
<MAP NAME="world">
     <AREA ID="france" SHAPE="POLY" HREF="#" COORDS="701,155, 703,152, 717,149, 723,147, 722,143, 752,149, 744,163, 749,175, 737,181, 730,179, 724,180, 712,179, 712,174, 715,167, 706,155, 703,157, 701,155">
     <AREA ID="spain" SHAPE="POLY" HREF="#" COORDS="685,183, 685,175, 713,176, 709,181, 729,182, 729,186, 721,187, 718,194, 719,202, 707,210, 700,210, 695,213, 688,208, 693,184, 685,183">
</MAP>

</body>
</html>

   

Сообщения:  [1-5] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования