使用 JavaScript 使 gif 加载器在点击时显示


Make gif loader show on click with JavaScript

我有一个HTML输入按钮,当它被点击时,它会提交一个PHP表单。其代码如下:

<input class="rg_btn" name="submit" value="Register" type="submit" />

但是,当用户单击该按钮时,我希望它在页面中间显示加载图像 3 秒(我有 gif 文件),然后我希望表单实际处理。

我该怎么做?

就像 http://www.mega.co.nz/#pro 单击"立即购买"时所做的那样

首先将图像添加到您的 html 中,并使用 CSS 将其隐藏:

 <img src="3sec.gif" id="gif" style="display: none;">

然后,使用 jQuery:

 $('.rg_btn').submit(function() {
     $('#gif').show(); 
     return true;
 });

另外,如果您还没有jQuery,请不要忘记在标题标签之间包含jQuery:

 <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<input class="rg_btn" name="submit" value="Register" type="submit" onclick='btnClick' />

function btnClick() {
    var Gif = document.createElement('div');
    Gif.className = "?";
    Gif.innerHTML = "<img src='some_img' />";
    document.appendChild(Gif);

    setTimeout("btnClickfade()", 3000);
}
function btnClickfade() {
     document.removeChild(document.getElementByClassName("?"));
}
你可以

做如下的事情-

STep 1:不要创建提交按钮,而是创建标准按钮第 2 步:当用户单击该按钮时,调用一个函数,将其命名为提交我

第3集:

在Javascript中: 函数提交我() { 用于在所需时间内显示图像的 CODE 隐藏图像并提交表单 }

为此,

您必须创建一个函数,该函数在单击按钮时触发,该按钮使用 event.preventDefault() 取消默认行为(提交表单);之后,您将设置基本上将div 附加到正文,并带有居中加载 GIF(通过 CSS)这将显示 3 秒钟,您还可以预先插入 DIV,这样您就不必再附加它了。

有一些

事情我不明白,从你的问题中我可以读到你想显示一个加载 gif 3 秒,这太长了,只有在那之后你才真正想开始处理表单。

对于这种情况,我强烈建议使用 AJAX 透明地处理您的请求,例如没有页面重新加载,提交没有 3 秒延迟。

如果用户禁用了JS,您可以使用PHP回退,表单将立即提交(用户不会想等待3秒钟相信我)

这可能是最用户友好的方式,如果您对如何使用纯 JS 实现 AJAX 请求有疑问,请评论这个问题,我将根据您的需要进行编辑。

和破折号; 席德