如何使用 jquery 单击按钮后在按钮旁边显示 ajax 加载图像

发布于 2024-09-04 03:24:25 字数 265 浏览 5 评论 0原文

我有一个运行 ajax get 的按钮,这需要很长时间。在按钮右侧显示 ajax 加载图像的最简单方法是什么?

它是动态的(与布局中的硬编码div相比)

我可能会稍后在布局中移动按钮,所以我希望在单击事件之后(调用ajax之前)

    $(selector).append("<img src='/images/ajax-loading1.gif' />");

,我尝试了这个:但这似乎并没有做任何事

i have a button that runs an ajax get which takes a long time. what is the easiest way of showing an ajax loading image RIGHT BESIDE to the right of the button.

i may move the button later in the layout so i wanted this to be dynamic (compared to a hard coded div in the layout)

after the click event (before the ajax was called), i tried this:

    $(selector).append("<img src='/images/ajax-loading1.gif' />");

but that didn't seem to do anything

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

没有伤那来痛 2024-09-11 03:24:25

您可能需要 after 而不是 append

$(selector).after("<img src='/images/ajax-loading1.gif' />");

但考虑到 AJAX 完成后图标的删除,怎么样:

$(selector).bind('click', function () {
    var spinner = $("<img src='/images/ajax-loading1.gif' />").insertAfter(this);

    jQuery.ajax({
        success: function (response) {
            // handle response

            spinner.remove();
        });
    });
});

You probably want after instead of append.

$(selector).after("<img src='/images/ajax-loading1.gif' />");

But taking into account the removing of the icon after AJAX has finished, how about:

$(selector).bind('click', function () {
    var spinner = $("<img src='/images/ajax-loading1.gif' />").insertAfter(this);

    jQuery.ajax({
        success: function (response) {
            // handle response

            spinner.remove();
        });
    });
});
提笔书几行 2024-09-11 03:24:25

如果问题是图像的放置,那么为什么不对图像和按钮使用带有定位(可以根据需要更改)的 css 类。

如果问题是 ajax 运行缓慢,我认为我们需要更多信息。

If the issue is placement of the image, then why not use a css class with positioning (that could be changed as needed) for both the image and the button.

If the issue is the ajax running slow, I think we need more info.

静赏你的温柔 2024-09-11 03:24:25

在运行 ajax 调用之前,请使用 after() 函数:

$('.button').after('<img class="loading-ajax" src="/images/loading.gif" alt="Loading" />');

然后在 ajax 请求完成后删除该元素:

$('.loading-ajax').remove();

Before you run the ajax call use the after() function:

$('.button').after('<img class="loading-ajax" src="/images/loading.gif" alt="Loading" />');

Then after the ajax request is completed remove the element:

$('.loading-ajax').remove();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文