我正在开发一个小型演示/原型应用程序,并且正在使用同位素对一组 div 进行动画过滤。div 是带有一些文本的彩色块,它们使用 .ajax 函数自动更新以获取 JSON 数据。
该应用程序是一组 ASP.NET MVC 完整视图和一些部分视图。瓷砖位于一个视图中。单击磁贴会将用户带到该磁贴的“内容”的新视图页面。视图之间有动画淡出/淡入。(制作这个的开发人员最初有部分视图,但添加了后退按钮工作的要求。这就是为什么所有内容都更改为完整视图......不幸的是,为什么过渡更不稳定。)
我的问题是,点击瓷砖时,同位素 div 在淡出之前会闪烁。
为了清楚起见,这里有一个小图。:)
jQuery click 事件中没有处理会导致这种闪烁的淡入淡出。click 事件淡出当前的 innerContent 并在内容淡出后使用 window.location.href 重新加载下一个视图。主 MVC 布局处理下一个视图的淡入。当我单步执行或进行一些警报框调试时(在单击功能的每个点插入警报(“我在这一点”)时,我没有得到闪光。
这是处理磁贴点击的函数:
var theTileId = $("#" + divId).attr("data-tile-id");
var appName = "应用程序 > " + $("#" + divId).attr("data-tile-appName"); localStorage.setItem("面包屑", appName);
$("#innercontainer").fadeOut(250, function () { window.location.href = '@Url.Action("Application360", "Larry")?an=' + appName; });
这是处理所有视图的淡入的主要布局功能:
$(document).ready(function () {
$("#innercontainer").animate({ opacity: '0' }, 0, function () {
$("#innercontainer").delay(400).animate({ opacity: '1' }, { duration: 'slow', easing: 'swing' });
});
});
关于可能发生的事情的任何想法?我很抱歉没有发布 jsfiddle,但该应用程序有点大并且被认为是敏感的(你知道,通常)。如果真的有必要,我可以稍后再尝试。对于原型来说,解决这个问题并不是很关键,但让它看起来尽可能平滑会很好。谢谢!