2012-04-18 6 views
0

현재 GreyScale 호버 효과를 적용하는 jQuery 플러그인을 사용하고 있습니다. 플러그인이 완벽하게 작동합니다.ajax 호출 후 jQuery 함수 재 초기화

플러그인이 작동중인 페이지는 아약스 기반 필터링을 사용합니다. 이 때문에 아래 코드는 초기로드에서만 올바르게 작동합니다. 각 필터에서 두 요소를 다시 초기화 할 수 있어야합니다.

내가 jQuery를 1.7.2 사용하고 있지만,이 작업을 얻을 수 없기 때문에 내가 $(document).on 실험 된 ..

$(function() { 
    // fade in the grayscaled images to avoid visual jump 
    $('.colour img').hide().fadeIn(1000); 
    }); 

    // user window.load to ensure images have been loaded 
    $(window).load(function() { 
    $('.colour img').greyScale({ 
     // call the plugin with non-defult fadeTime (default: 400ms) 
     fadeTime: 500, 
     reverse: false 
    }); 
    }); 
+0

당신은 좀 더 코드 – mprabhat

답변

1

당신은 단지, 함수에 넣어 준비 문서에 그 함수를 호출 할 수 없습니다 아약스 전화 후에 다시 전화 해? 같은 뭔가 : 그냥 다시 YourFunction()를 호출하여 AJAX 호출에 대한 콜백에서 다음

$(function() { 
    YourFunction(); 
}); 

:

function YourFunction() { 
    $('.colour img').greyScale({ 
    // call the plugin with non-defult fadeTime (default: 400ms) 
     fadeTime: 500, 
     reverse: false 
    }); 
} 

는 다음과 같은 준비가 문서에 전화를?

+0

이 아무튼를 공유 할 수 있습니다 (페이지) 필터링 결과로 $ (document) .ready (function() {다시 작동하지 않는 것 같습니다. – dwarren

+0

예, 페이지 필터를 적용한 후 YourFunction()을 직접 호출 할 수 있습니까? – mattytommo

0

두 개의 기능을 가지고 다음 당신이

function x() 
{ 
    // fade in the grayscaled images to avoid visual jump 
    $('.colour img').hide().fadeIn(1000); 
} 

function y() 
{ 
    $('.colour img').greyScale({ 
     // call the plugin with non-defult fadeTime (default: 400ms) 
     fadeTime: 500, 
     reverse: false 
} 

초기로드와 아약스 호출 후에 그들에게 전화 할 때 지금까지 그들을 호출 할 수 있습니다 플러그인 및