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

HTML+CSS+JavaScript

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Смена изображений
 
 автор: FireTiger   (03.07.2008 в 12:08)   письмо автору
 
 

Есть один скрипт, который при щелчке на малом изображении, просто меняет его на большое и наоборот. Так вот, проблема в том, что этот скрипт не работает только в FireFox, а во всех остальных браузерах все отлично. Вот код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta name="author" content="">

    <title>смена изображения</title>
    
</head>

<body>
<script type="text/javascript">
    var apict1 = new Array('images/small/holmu.jpg','images/small/lilii.jpg','images/small/zakat.jpg'); // исходные файлы
    var apict2 = new Array('images/big/holmu.jpg','images/big/lilii.jpg','images/big/zakat.jpg'); // заменяемые файлы
    var aflag = new Array(apict1.length); // массив флагов
    /* Формирование строки тегов, описывающих изображения */
    var xstr = '';
    for(i = 0; i < apict1.length; i++){
        xstr += '<img id="i'+i+'" src="'+apict1[i]+'" onclick="imgchange()">';
    }
    document.write(xstr);
    function imgchange(){
        var xid = event.srcElement.id;
        var n = parseInt(xid.substr(1)); // выделяем номер элемента
        if(aflag[n]){
            document.getElementById(xid).src = apict1[n];
        } else {
            document.getElementById(xid).src = apict2[n];
        }
        aflag[n] =!aflag[n];
    }
</script>
</body>
</html>


В чем может быть проблема?

   
 
 автор: Sanya_Zol   (08.07.2008 в 03:13)   письмо автору
 
   для: FireTiger   (03.07.2008 в 12:08)
 

попробуй
<html> 

<head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8"> 
    <meta name="author" content=""> 

    <title>смена изображения</title> 
     
</head> 

<body> 
<script type="text/javascript"> 
    var apict1 = new Array('images/small/holmu.jpg','images/small/lilii.jpg','images/small/zakat.jpg'); // исходные файлы 
    var apict2 = new Array('images/big/holmu.jpg','images/big/lilii.jpg','images/big/zakat.jpg'); // заменяемые файлы 
    var aflag = new Array(apict1.length); // массив флагов 
    /* Формирование строки тегов, описывающих изображения */ 
    var xstr = ''; 
    for(i = 0; i < apict1.length; i++){ 
        xstr += '<img id="i'+i+'" src="'+apict1[i]+'" onclick="imgchange(this.id);">'; 
    } 
    document.write(xstr); 
    function imgchange(SZid){ 
        var xid = SZid; 
        var n = eval(xid.replace('i','')); // выделяем номер элемента 
        if(aflag[n]){ 
            document.getElementById(xid).src = apict1[n]; 
        } else { 
            document.getElementById(xid).src = apict2[n]; 
        } 
        aflag[n] =!aflag[n]; 
    } 
</script> 
</body> 
</html>


и вообще код желательно переписать

   
 
 автор: FireTiger   (09.07.2008 в 20:20)   письмо автору
 
   для: Sanya_Zol   (08.07.2008 в 03:13)
 

Все отлично, спасибо! А чем этот код плох?

   
Rambler's Top100
вверх

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