<script type="text/javascript">
$(document).ready(function () {
$(".style1:this").mouseover(function () {
$(".style1:this").animate({ fontSize: '22px' }, "slow");
});
$(".style1:this").mouseout(function () {
$(".style1:this").animate({ fontSize: '16px' }, "slow");
});
});
</script>
Здесь ".style1" - это класс.... Я хочу, чтобы функция animate работала только над элементом, на котором происходит событие mouseover() и mouseout(). Указанный код явно не работает, но я пытаюсь показать, что я хочу делать.
this
относится к обратному вызову, а не к нему:
$(".style1").mouseover(function () {
$(this).animate({ fontSize: '22px' }, "slow");
});
$(".style1").mouseout(function () {
$(this).animate({ fontSize: '16px' }, "slow");
});
Вы также можете использовать цепочку ,mouseout()
для .mouseover()
чтобы избежать необходимости повторять селектор:
$(".style1").mouseover(function () {
$(this).animate({ fontSize: '22px' }, "slow");
}).mouseout(function () {
$(this).animate({ fontSize: '16px' }, "slow");
});
если то, что вы хотите оживить, это шрифт, и вам не нужно поддерживать старые браузеры, вы всегда можете сделать это напрямую с помощью CSS
.style1 {
-webkit-transition: font-size .5s ease;
-moz-transition: font-size .5s ease;
-o-transition: font-size .5s ease;
transition: font-size .5s ease;
font-size: 20px;
}
.style1:hover {
-webkit-transition: font-size .5s ease;
-moz-transition: font-size .5s ease;
-o-transition: font-size .5s ease;
transition: font-size .5s ease;
font-size: 30px;
}
Нет необходимости в кодировании JavaScript
Вот пример http://plnkr.co/edit/sDGMOczKgFYiqlMQDTvF?p=preview
$(".style1").eq(n).ready(function...