2016-02-18 3 views
-1

Я написал эту Jquery функцию:Одна JQuery функция для нескольких DIVs

$(document).ready(function() { 
    $("#change1").hover(function() { 
     $(this).find("#changeHeader1").stop().animate({ marginTop: "30px" }, 400); 
     $(this).find("#changeText1").stop().fadeIn(1200);    
     $(this).find("#changeButton1").stop().fadeIn(1200); 
    }, function() { 
     $(this).find("#changeHeader1").stop().animate({ marginTop: "118px" }, 1000);     
     $(this).find("#changeText1").stop().fadeOut(700); 
     $(this).find("#changeButton1").stop().fadeOut(400); 
    }); 
}); 

Он отлично работает с первым DIV, но не работает со вторым, thrid ...

Может кто-то помочь мне с этим, пожалуйста?

Спасибо и наилучшими пожеланиями

Martin

+0

Вы можете разместить также HTML? Что должен делать этот сценарий? – silviagreen

+1

__Идентификаторы в HTML должны быть уникальными__ Это ожидаемое поведение – Satpal

+0

Было бы намного проще отлаживать ваш код, если бы вы могли настроить небольшую демонстрацию на https://jsfiddle.net/ –

ответ

1

Использование class вместо id. Вы не можете использовать один и тот же идентификатор для разных элементов.

Затем используйте следующее.

$(".change1").hover(function() { 
    $(this).find(".changeHeader1").stop().animate({ marginTop: "30px" }, 400); 
    $(this).find(".changeText1").stop().fadeIn(1200);    
    $(this).find(".changeButton1").stop().fadeIn(1200); 
}, function() { 
    $(this).find(".changeHeader1").stop().animate({ marginTop: "118px" }, 1000);     
    $(this).find(".changeText1").stop().fadeOut(700); 
    $(this).find(".changeButton1").stop().fadeOut(400); 

}); 
0

Вам нужно использовать класс и добавить функцию наведения на каждую из кнопок.

Hover animation with multiple elements

$(document).ready(function() { 
    $(".change1, .change2, .change3").hover(function() { 
    $(this).find(".changeHeader1").stop().animate({ marginTop: "30px" }, 400); 
    $(this).find(".changeText1").stop().fadeIn(1200);    
    $(this).find(".changeButton1").stop().fadeIn(1200); 
    }, function() { 
    $(this).find(".changeHeader1").stop().animate({ marginTop: "118px" }, 1000);     
    $(this).find(".changeText1").stop().fadeOut(700); 
    $(this).find(".changeButton1").stop().fadeOut(400); 
}); 
}); 

Если вы хотите придерживаться названия одного класса, да вы можете !!

Hover animation with multiple elements, using single class name

$(document).ready(function() { 
    $(".change").hover(function() { 
    $(this).find(".changeHeader1").stop().animate({ marginTop: "30px" }, 400); 
    $(this).find(".changeText1").stop().fadeIn(1200);    
    $(this).find(".changeButton1").stop().fadeIn(1200); 
    }, function() { 
    $(this).find(".changeHeader1").stop().animate({ marginTop: "118px" }, 1000);     
    $(this).find(".changeText1").stop().fadeOut(700); 
    $(this).find(".changeButton1").stop().fadeOut(400); 
}); 
}); 
Смежные вопросы