对于Slimvoice(https://slimvoice.co/),我想反对JavaScript的炒作,并对整个应用程序进行服务器端渲染。您可能会说:“用户必须在使用应用程序时重新加载每个页面,这必须很慢!”我鄙视这句话!所有资产文件都经过gzip压缩和缓存,只有在发生交互时才需要加载HTML。我没有使用负载指示器。但它比我使用的许多PWA加载速度更快。如果您不相信,请打开开发人员工具的Web面板,并将Slimvoice与其他一些流行的PWA进行比较。

复选框和标签

当然,对于某些交互,页面无法重新加载。这是我最喜欢的向静态HTML页面添加交互性的广东特产技巧。我在Slimvoice下拉菜单 模式面板和过滤器UI中使用了这种技术,所有这些都没有JavaScript。

创建< div id=" myToggledUI">使用您想要显示或隐藏的一些UI。

创建一个< input type="复选框" ID=QUOT; myToggle" style=" display: none;“>在DOM中创建一个不可见的复选框。

无论您要将哪个DOM节点用作切换控件,请将其放在标签中,其中for属性与复选框的id属性匹配。

添加以下CSS。

#myToggledUI {

显示:无;

}

#myToggle:已选中〜#myToggledUI {

显示:块;

}

此CSS表示显示所选#myToggle元素前面的#myToggledUI元素,否则将隐藏该元素。 〜是一个非常有趣的运营商!这是一个完整的例子(https://jsfiddle.net/winduptoy/8qfvb1az/)。下面是使用< label>构建的模态面板。 </label> < div>和复选框。 “取消”按钮是另一个< label>,它对应于相同的复选框,可以单击该复选框以关闭模式面板。模态面板后面的灰色遮罩(位置:固定;)也是< label>相同的复选框,所以单击模态面板的外部也关闭它。没有React组件,没有事件侦听器,只有简单的HTML。

最新文章

  1. 让Unity NavMesh为我所用
  2. Java实现验证码制作之一Kaptcha验证码
  3. AI (Adobe Illustrator)详细用法(四)
  4. iphone6 帶回家”活動!
  5. Qt 调试时的错误——Debug Assertion Failed!
  6. 矩形嵌套 南阳理工ACM
  7. map的两种取值方式
  8. JQuery轻量级网页编辑器 选中即可编辑
  9. 用thinkphp开启伪静态,用wamp开启很快搞定;但是用phpstudy总是开启失败,为什么?
  10. web-based installer and executable installer in python 3 ,what is the difference between them?
  11. iOS - XMPP 的使用
  12. onConfigurationChanged方法的使用
  13. sql server中如何修改视图中的数据?
  14. 使用Jenkins搭建持续集成(CI)环境
  15. vue使用animate.css库
  16. generic_netlink 用法
  17. 每日英语:The Power of Parents Who Say 'No'
  18. CPAN镜像使用帮助
  19. C11构造函数的改善
  20. Linux虚拟系统安装——Ubuntu18.04 & CentOS6.5

热门文章

  1. vuex 讲解
  2. [Java]手动构建SQL语法树(sql简单无嵌套)并输出与之对应的SQL语句之二
  3. js 执行总结1
  4. leetcode1281 整数的各位积和之差
  5. LC 962. Maximum Width Ramp
  6. gateway 整合 websocket demo
  7. js常用遍历汇总
  8. Python面向对象进阶和socket网络编程
  9. 跨平台python异步回调机制实现和使用方法
  10. Qt qss问题总结