我希望有人可以帮助解决这个问题,因为它非常令人沮丧。
我已经检查了所有动画包,但它们似乎都被用户操作激活,例如点击一个项目。如果从服务器触发更改怎么办?
我希望在从非Meteor源更改Collection时显示动画。我有一个Java演示应用程序,可以调用Meteor服务器方法,然后更新集合。
更改显示在客户端中,因此我知道基础知识正在运行,但是如何对客户端进行编码以使其在更改时闪烁?
思考"股票市场应用"。
更新后用红色闪烁项目的简单示例非常棒。另外,如何检测项目的插入和删除时间?
答案 0 :(得分:1)
假设您有一个最喜欢的股票列表的模板,以及每个股票的模板:
onRendered
在Template.favorites.onRendered(function() {
var query = Favorites.find({}, { sort: { symbol: 1 } });
var handle = query.observeChanges({
changed: function (id, fields) {
//this will highlight the row of the updated favorite, using the id from the Favorites collection
$('#' + id).effect('highlight', {}, 1500);
}
});
});
模板事件中,您可以创建一个观察者来监视特定查询的更改。只需使用您用于生成收藏夹列表的相同查询。当任何记录发生更改时,使用jQuery查找它并为高亮效果设置动画:
String newStyle = "width: 238px ..."
JavascriptExecutor js = (JavascriptExecutor)driver;
WebElement element = driver.findElement(By.xpath("//*[@id='new_company']/input[4]"));
js.executeScript("arguments[0].setAttribute('style', '" + newStyle + "')", element);