извините за мой плохой английский.
У меня такой вопрос: почему первый код:
<html>
<head>
<style>
body { position: relative; }
table { position: absolute; top: 200px; left: 200px; }
div { width: 100px; height: 100px; background-color: black; margin: auto auto; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){
for(i = 0; i < 100; i++) {
var j = i + '';
$("#menu_div_" + j).mouseover(function(){
$("#menu_div_" + j).clearQueue();
$("#menu_div_" + j).stop();
$("#menu_div_" + j).animate({
width: 150,
height: 150
}, 600
);
});
$("#menu_div_" + j).mouseout(function(){
$("#menu_div_" + j).clearQueue();
$("#menu_div_" + j).stop();
$("#menu_div_" + j).animate({
width: 100,
height: 100
}, 600
);
});
}
});
</script>
</head>
<body>
<table id="menu">
<? for($i = 0; $i < 10; $i++) { ?>
<tr>
<? for($j = 0; $j < 10; $j++) { ?>
<td>
<div id="menu_div_<? echo ($i * 10) + $j; ?>">
</div>
</td>
<? } ?>
</tr>
<? } ?>
</table>
</body>
</html>
не работает точно так же, как в этом коде ("for "цикл написан на php):
<html>
<head>
<style>
body { position: relative; }
table { position: absolute; top: 200px; left: 200px; }
div { width: 100px; height: 100px; background-color: black; margin: auto auto; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){
<?php for($i = 0; $i < 100; $i++) { ?>
$("#menu_div_" + <?php echo $i; ?>).mouseover(function(){
$("#menu_div_" + <?php echo $i; ?>).clearQueue();
$("#menu_div_" + <?php echo $i; ?>).stop();
$("#menu_div_" + <?php echo $i; ?>).animate({
width: 150,
height: 150
}, 600
);
});
$("#menu_div_" + <?php echo $i; ?>).mouseout(function(){
$("#menu_div_" + <?php echo $i; ?>).clearQueue();
$("#menu_div_" + <?php echo $i; ?>).stop();
$("#menu_div_" + <?php echo $i; ?>).animate({
width: 100,
height: 100
}, 600
);
});
<?php } ?>
});
</script>
</head>
<body>
<table id="menu">
<? for($i = 0; $i < 10; $i++) { ?>
<tr>
<? for($j = 0; $j < 10; $j++) { ?>
<td>
<div id="menu_div_<? echo ($i * 10) + $j; ?>">
</div>
</td>
<? } ?>
</tr>
<? } ?>
</table>
</body>
</html>
Краткое объяснение:
В первом случае" события "из всех тегов" div "приводят к изменению размера последнего элемента(Я не знаю почему).Во втором - «событие» от каждого «div» приводит к изменению размера одного и того же «div» (что, на мой взгляд, должно происходить и в первом коде).
Как я могу исправить первоекод, чтобы он работал как второй?