2013-05-14 57 views
1

我正在制作网站响应式,旨在使其更适合平板电脑(ipad肖像和波纹管)和移动应用程序。这是(使用CSS媒体查询很好)。响应式网站直到页面加载时才显示菜单

问题是页面加载。用户可以搜索产品。但是响应菜单和其他Accordian选项卡在页面完全加载之前不工作。响应式菜单是http://www.meanthemes.com/plugins/meanmenu/,Accordian只是Jquery。通过不工作,我的意思是响应菜单根本不显示,手风琴标签保持打开状态,直到页面完全加载。

我在页面上隐藏了从桌面数据库中填充的其他菜单....并尝试完全删除代码.....这确实加快了一点但仍然是同样的问题。

我知道答案是使用像jQuery Mobile的(我决定),只是重新开始....但客户希望现场响应

任何意见,将不胜感激

+0

也许你可以放出像图像这样的重量,并使用Ajax加载它们? – Dediqated 2013-05-14 13:52:21

回答

1

Accordion和其他菜单元素是可视化组件,在执行JavaScript之前它们不会被初始化。

jQuery UI可以大到100k,取决于另一个80k的jQuery。

标准做法是在$(document).ready()回调中执行jQuery代码,但在可能需要一段时间才能触发的移动设备上执行。由于在通过无线下载页面时存在滞后时间。

您有几个选项。

  • 通过仅使用所需功能构建JS来减小jQuery UI的大小。
  • <script>包括标签从页面底部移动到标题。通常建议将脚本放在底部,因为它们会阻止下载,直到完成。但是,如果菜单与页面一起出现很重要,则可能需要将它们移动到页眉。
  • 您并不总是必须将您的JavaScript代码放入$(document).ready()。如果您知道Javascript放置在您需要的DOM元素下方,那么这些元素已准备就绪,可以转化为Accordion,但jQuery必须已加载。
+0

继续您的最后推荐,我将调用放到它下面的响应菜单中,而不需要$(document).ready()并且工作正常。手风琴家在两个地方......页面的顶部和底部,结果在他们之间。我做了同样的上面,并把jquery代码放在顶级的手风琴之下,这工作....但不是脚手风琴。所以我没有评论我以前用于两套手风琴的$(document).ready()......这允许最底层的手风琴起作用,但是当我点击顶端的手风琴时,它立即打开并关闭。 。所有想法 – simmo 2013-05-14 15:09:36

+0

将所有内嵌' ...这项工程,但顶级手风琴保持开放更长 – simmo 2013-05-14 15:34:12

相关问题