[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: С селекторами работает с $(this) не хочет
bazilio
Проблема такая. Картинка при наведение на нее мышкой картинки меняются (получается не большая анимация) уводишь мышку анимация прекращается и вот в таком виде это даже работает:

    $(".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 не то что вы думаете.

Спустя 2 часа, 16 минут, 23 секунды (24.02.2012 - 20:40) Bodich написал(а):
$(".icon").hover(

$(".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');
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.