【问题标题】:How to create a reaction on user tap on mobile with HTML, CSS or Javascript?如何使用 HTML、CSS 或 Javascript 在用户点击移动设备时创建反应?
【发布时间】:2019-03-19 07:43:46
【问题描述】:

我有一个网站,完全响应(使用 Bootstrap 制作)并在 Cordova 的移动应用程序中可用。

在移动设备中,用户所做的操作并不是真正“动态”的:当用户“点击(移动点击)”时,用户看不到他的操作是否完成。他们必须等待加载时间结束才能查看他们的“点击”是否有效。

我在寻找什么:每次“点击”的动态行为,例如出现一个圆圈,以向用户显示他的点击有效:

在此示例中,用户单击时会出现灰色阴影。

有什么想法吗? 非常感谢

【问题讨论】:

  • 这里已经回答了这个问题:stackoverflow.com/questions/20516311/…
  • 除了画圆外,你应该对异步动作有一个全面的了解。当用户点击按钮或其他东西时,运行等待动画(我会使用CSS动画)或画一个圆圈,然后当异步活动结束时停止你的动画(我会添加一个类动画播放状态:暂停;显示:无;).
  • @MarvinKlar 是的,但不完整,小提琴的链接已经死了......
  • @PHPglue 听起来真的很完美,但是我该怎么做呢?我是一个没有 js 技能的后端开发人员......真可惜!

标签: javascript html css ruby-on-rails twitter-bootstrap


【解决方案1】:

您可以使用 JavaScript 来实现。首先,使用 HTML 和 CSS 创建加载动画并将其隐藏。

加载页面后,使用document.getElementsByTagName()document.querySelectorAll()选择所有链接和按钮

现在创建一个函数来显示或隐藏加载动画。然后循环遍历元素并向它们添加点击事件监听器。

HTML:

<div id="loading" style="display:none">Loading...Please Wait</div>

JS:

var loading = document.getElementById("loading");
var elements = document.querySelectorAll("a");

function showLoading(){
    loading.style.display = "block";
}

for(var i = 0; i < elements.length; i++){
    elements[i].addEventListener("click",showLoading);
}

【讨论】:

  • 嗨@Adnan,对不起,我是 JS 的新手,我不明白。我放了 div 和脚本,但它不起作用:“正在加载...”不出现
  • 你必须使用window.onload函数中的JS代码。把代码贴在这里,以便我们了解问题所在...:)
  • 嗨@Gdebrig,再试一次。我在代码中犯了一个错误。我已经修好了。请立即重试。
  • 我在网上搜索了“window.onload”(不知道它是什么),它非常适合加载警报。谢谢。但是对于鼠标点击的圆圈,你有想法吗?谢谢
  • 是的完美实现非常感谢!!最后一个问题:使用 Bootstrap,您有一个名为“Tab”的组件。它也可以使用“a”标签。因此,当我们单击选项卡时,您的代码正在运行...您是否有办法在引导选项卡上禁用此操作-也许是我在禁用项目上添加的 CSS 类?谢谢
猜你喜欢
  • 1970-01-01
  • 2020-12-26
  • 2015-03-30
  • 1970-01-01
  • 2019-02-22
  • 1970-01-01
  • 2012-03-30
  • 2021-05-01
  • 1970-01-01
相关资源
最近更新 更多