$(".icon").hover(
function fun(z)
{
var sr = $('#myImageSnow').attr("src"); //Путь до картинки
var b = sr.substr(9, 2);//извлекаю цифру которая есть в пути картинки
var z = parseInt(b); // записываю ее в переменную как цифру
z += 1 ; //прибавляю к ней единицу
if(z > 20)
{
z=1; // картинок всего 20 если больше 20 значит снова 1 анимация идет по кругу
}
$('#myImageSnow').attr("src","img/snow/"+z+"snow.png")//вставляю картинку
if(z<21)
{
timeoutId = setTimeout(function () { fun(z);}, 50); // если z меньше 20 то повторяю действие
}
},
function (of)
{
$('#myImageSnow').attr("src","img/snow/1snow.png")
clearTimeout(timeoutId) // если убрал мышь прекращаю анимацию
}
);
Но здесь четко прописаны id, а картинок объектов на странице будет несколько и мне бы не хотелось прописывать четко id, а надо бы воспользоваться $(this):
А вот в таком виде код отрабатывает один раз (меняет картинку на следующую, а дальше не идет останавливается )
$(".icon").hover(
function fun(z)
{
// var sr = $('#myImageSnow').attr("src"); строка с которой работает
var sr = $(this).children("a").children("img").attr("src");//не работает
var b = sr.substr(9, 2);
var z = parseInt(b);
z += 1 ;
if(z > 20)
{
z=1;
}
// $('#myImageSnow').attr("src","img/snow/"+z+"snow.png") строка с которой работает
$(this).children("a").children("img").attr("src","img/snow/"+z+"snow.png");//не работает
if(z<21)
{
timeoutId = setTimeout(function () { fun(z);}, 50);
}
},
function (of)
{
$(this).children("a").children("img").attr("src","img/snow/1snow.png")
clearTimeout(timeoutId)
}
);
кусочек HTML чтоб было понятней )
<div class="icon">
<a href=""><img id="myImageSnow" src="img/snow/1snow.png" /> </a>
</div>
В чем может быть причина? Заранее благадарю.
Спустя 26 минут, 34 секунды (24.02.2012 - 17:57) vital написал(а):
В области видиомсти функий и переменных в JS.
Спустя 23 минуты, 23 секунды (24.02.2012 - 18:20) bazilio написал(а):
Если кто то даст более развернутый ответ я буду очень рад)
Спустя 3 минуты, 7 секунд (24.02.2012 - 18:23) vital написал(а):
function (of)
{
$(this)
Здесь this не то что вы думаете.
{
$(this)
Здесь this не то что вы думаете.
Спустя 2 часа, 16 минут, 23 секунды (24.02.2012 - 20:40) Bodich написал(а):
$(".icon").hover(
$(".snow").hover(
<div class="icon">
выборка правильно?
$(".snow").hover(
<div class="icon">
выборка правильно?
Спустя 33 минуты (24.02.2012 - 21:13) bazilio написал(а):
Цитата (Bodich @ 24.02.2012 - 17:40) |
<div class="icon"> выборка правильно? |
Да выборка правильно это я только здесь ошибся поправил.
Цитата (vital @ 24.02.2012 - 15:23) |
Здесь this не то что вы думаете. |
Тогда вопрос если не трудно будет ответе, а почему один раз срабатывает?
Спустя 27 минут, 10 секунд (24.02.2012 - 21:40) Bodich написал(а):
попробуй достучатся до id img \\\\ id = $(this)......attr('id');