我正在试图找出导致以下故障的根本原因:
http://apapartnership.com/vol3
转到vol2或vol3并单击内容列表中的任何#hash链接会产生奇怪的结果:
1.-如果我点击任何一章'链接从1到16-18(直到您需要滚动以查看目录的其余部分之前) - 一切似乎都正常工作。你将被带到指定的部分。
2.-如果我点击边界附近的任何章节链接'或者前16-18个项目和接下来几个项目之间的阈值要求我向下滚动目录 - 会有移动 - 但不会向右移动。
3.-有时,如果我多次点击所有内容,它将开始正常工作。
4.-这个故障在vol1中无法重现。与其他两卷不同,目录不够大,不足以保证溢出,但即便如此,这很可能与它无关。
新编辑:如果我使窗口高度足够窄以迫使滚动变为活动目录,则可以在vol1中重现。
我的第一反应是在Firefox上测试这个,令我惊讶的是,它在那里工作得很好。它只有chrome-48.0.25(截至本文撰写时),我发现这个故障正在发生。
我怀疑它与冗长的单页文档和加载所需的时间有关 - 但......我无法确切知道。也许它与一些被解雇的jquery代码发生冲突?
像往常一样,任何正确方向的帮助或指示都非常受欢迎。
干杯 Sotkra
答案 0 :(得分:1)
我认为你的问题不是执行,而是计划。您的问题似乎根源于加载太多内容,至少与普通网页相比。
现在浏览器不再简化加载大量数据(这就是我们使用强大的服务器的权利,对吧?),但是对于动画很大的页面(所有动画应该顺利运行而不会在运动连续性中出现打嗝 - 这是每个浏览器制造商和/或框架开发人员的目标 - 最终的平滑动画敬畏[someness]。)
您应该一次只加载一个部分和目录。对我来说,它看起来像是完美的AngularJs用例,它可以异步调用REST API来获取每个部分的内容,同时保留摘要。
您问题的正确/实际答案可能源于markup
错误或类似内容。但这是你面临的另一个巨大问题。事实上,您的项目几乎不可能开发,维护和调试。
即使它没有直接回答你的问题,我认为我的建议比任何on-topic
答案更能解决你的真实问题。
编辑:(来自评论)显然,将position:fixed
导航菜单直接放在<body>
下可以解决问题。在这种情况下,我的建议是从帖子内容中完全删除#toc
元素,并使用以下小脚本将其放在<body>
下:
jQuery(document).ready(function( $ ) {
$('#toc').appendTo('body');
});
当然,它需要对CSS中的一些选择器进行一些更改,因此样式适用于移动的项目。