|
|
|
| Есть один скрипт, который при щелчке на малом изображении, просто меняет его на большое и наоборот. Так вот, проблема в том, что этот скрипт не работает только в 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>
|
В чем может быть проблема? | |
|
|
|
|
|
|
|
для: 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>
|
и вообще код желательно переписать | |
|
|
|
|
|
|
|
для: Sanya_Zol
(08.07.2008 в 03:13)
| | Все отлично, спасибо! А чем этот код плох? | |
|
|
|