2

警告:愚蠢的问题!但是我已经尝试查找此内容,但我无法弄清楚要搜索什么或我做错了什么。我正在尝试使图像淡入,这是我的代码:

$('.Middle-Tennessee').show().showNice(this);

后来我有了我的功能:

function showNice(x){
    x.css('opacity', '0');
    x.animate({
        opacity: 1,
    }, 5000);
}

谢谢!!

4

4 回答 4

5

这里有很多不同的选项,主要取决于您要如何编写代码:

您用于.each()迭代 jQuery 函数并在集合中的每个项目上调用您自己的函数:

$('.Middle-Tennessee').show().each(function(index, element) {
    showNice($(element));
});

或者,因为您的showNice()函数已经需要一个 jQuery 集合,您也可以这样做:

var items = $('.Middle-Tennessee').show();
showNice(items);

或者,您可以放弃该showNice()函数而只使用 jQuery 链接:

$('.Middle-Tennessee').show().css("opacity", 0).animate({opacity: 1}, 5000);

或者你可以使用内置的 jQuery 动画来代替显示、不透明度和动画:

$('.Middle-Tennessee').fadeIn(5000);

或者,你可以做showNice()一个像这样的 jquery 插件:

jQuery.fn.showNice = function() {
    this.css('opacity', '0').animate({
        opacity: 1,
    }, 5000);
    return this;
}

然后,您可以像使用 jQuery 方法一样使用 showNice:

$('.Middle-Tennessee').show().showNice();
于 2013-02-04T18:21:36.710 回答
4
showNice($('.Middle-Tennessee').show());


function showNice(x){
    x.css('opacity', '0');
    x.animate({
        opacity: 1,
    }, 5000);
}

或者

你可以使用 jquery 淡入淡出

$('.Middle-Tennessee').hide().fadeIn(5000);
于 2013-02-04T18:17:59.540 回答
4

showNice不是 jQuery 方法,它期望 jQuery 集合作为它的参数:

showNice($('.Middle-Tennessee').show());

要使其与 一起使用$('.Middle-Tennessee').show().showNice();,您需要将其添加到 jQuery 集合原型中(通过快捷方式$.fn):

$.fn.showNice = function showNice() {
    this.css('opacity', '0');
    this.animate({
        opacity: 1,
    }, 5000);
    return this;
};
于 2013-02-04T18:19:31.230 回答
3

您可以简单地将 jQuery 对象作为参数传递给您的函数:

showNice($('.Middle-Tennessee'));

- 或者 -

您还可以使用 jQuery 的方法fadeIn()

$('.Middle-Tennessee').fadeIn(5000);

请注意第一个示例中 Javascript函数的使用与第二个示例中使用本机 jQuery方法之间的区别。

于 2013-02-04T18:20:57.200 回答