我创建了一个小部件,其他人可以通过 iframe 将其加载到他们的 html 中。将我的自定义 js 文件(作为 iframe src)加载到 iframe 中一切正常。我还从 ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js 加载 jquery。然后,我的自定义 js 使用 $.get() 从与 js 文件位于同一域的服务器以不同的时间间隔加载和解析一些 json。我使用 json 创建在 iframe 中添加的 html 元素。同样,所有这些都按预期工作。
我遇到的问题是我想为我在 iframe 中添加的 html 设置动画。我正在使用以下函数来处理动画:
function embeddedUnMarkAsNew($el) {
$el.animate({color:"black"}, 500)
}
function embeddedMarkAsNew(timeToMark, $el){
alert("marking for this time: "+timeToMark)
//start animation
$el.animate({color:"red"}, 500);
//end animation when duration runs
setTimeout(function() {
embeddedUnMarkAsNew($el);
}, timeToMark)
return false
}
EmbeddedMarkAsNew() 内部的警报使用正确的 timeToMark 触发,但元素不动画。我已将动画更改为 addClass() 只是为了尝试一下,尽管该类确实在检查器中显示为被添加,但元素本身并不反映这个添加的类。
我已经在 iframe 之外的元素上使用了这种技术。在导致我的问题的 iframe 中执行此操作是什么原因???
谢谢