我正在尝试在网站上嵌入时间线,但遇到以下问题: 当包含的 div 嵌套在另一个 div 中时,TimelineJS 似乎不起作用。为了避免这个问题,我创建了一个 iframe 并将整个时间线放入另一个 .html 文件中,该文件可以很好地显示时间线。现在,我想根据用户所做的类别选择过滤掉一些时间线内容。如果包含时间线的外部html调用timeline.js来加载内容,并且类别选择事件处理是在index.html(包含iframe和其他元素)调用的index.js文件中完成的,我如何调用如果事件正在index.js中处理,那么timeline.js中的重新加载函数?换句话说,我的index.js 如何了解有关timeline.js 的任何信息,调用该文件中定义的方法,并且仍然将更改应用于timeline.html 的内容?
我对 javascript 很陌生,我似乎错过了解决问题所需的相当多的信息。
最佳答案
我也遇到了同样的问题,但没有找到解决方案。
我终于尝试了另一种方法:
1°) 将时间线指令(我的项目使用 AngularJS)放入 View “views/timeline.html”
<div id="my-timeline" timeline-js data="timelineData" height="height"></div>
2°) 将此 View 包含在主视图中
<div ng-include="url"></div>
3°) 每次需要在 Controller 中重新加载包含内容,并将 URL 更改为“忘记”旧数据
var newUrl = function() {
$scope.url = null;
var ran = Math.random();
$scope.url = 'views/timeline.html?r='+ran;
};
我知道它在内存方面还远远不够完美,但这就是我发现的一切
关于javascript - 动态更改TimelineJS内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24252380/