我目前正在使用一个应用GreyScale悬停效果的jQuery插件。该插件非常有效。
插件所在的页面使用基于ajax的过滤。因此,以下代码仅在初始加载时正常工作。我需要能够重新初始化每个过滤器上的两个元素。
我一直在尝试使用$(document).on
,因为我正在使用jQuery 1.7.2,但无法实现这一点。
$(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 :(得分:1)
难道你不能把它放在一个函数中,在文档中调用该函数然后在你的ajax调用之后再次调用它吗?类似的东西:
function YourFunction() {
$('.colour img').greyScale({
// call the plugin with non-defult fadeTime (default: 400ms)
fadeTime: 500,
reverse: false
});
}
然后在准备就绪的文件上调用它,如:
$(function () {
YourFunction();
});
然后在AJAX呼叫的回调中再次呼叫YourFunction()
?
答案 1 :(得分: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
}
在初始加载和ajax调用之后调用它们