在JQuery中删除KendoUIMobile-CSS属性时,视图转换会重置
目前,我正在通过在css文件中应用以下css规则来处理剑道移动web应用程序中未设置样式的内容闪烁:在JQuery中删除KendoUIMobile-CSS属性时,视图转换会重置,jquery,css,kendo-ui,Jquery,Css,Kendo Ui,目前,我正在通过在css文件中应用以下css规则来处理剑道移动web应用程序中未设置样式的内容闪烁: [data-role="content"] { visibility: hidden; } 这将隐藏我剑道视图中的所有内容,然后在JQuery“load”事件中,删除上述css属性: $(window).bind("load", function () { // flicker of unstyled content $("[data-role=\"c
[data-role="content"]
{
visibility: hidden;
}
这将隐藏我剑道视图中的所有内容,然后在JQuery“load”事件中,删除上述css属性:
$(window).bind("load", function () {
// flicker of unstyled content
$("[data-role=\"content\"]").css("visibility", "visible");
});
一切都很好,我没有任何问题,除了使用剑道的视图转换
当我使用幻灯片:左
转换时,原始可见性:隐藏在我的css文件中定义的代码>被重新应用,导致所有内容都不可见
这是为什么会发生,特别是剑道,以及剑道是如何处理视图和转换的?我知道我可能可以手动添加一个具有可见性的类:hidden
到每个data role=“content”
元素,然后在jquery的“load”事件处理程序中删除该类,但我希望我的解决方案少一点“硬编码”
谢谢。数据角色=内容属性是在初始化视图时设置的,因此加载事件处理程序不会影响所有视图(除非手动设置了数据角色=内容)
您可以考虑隐藏应用程序容器。 由于此消息最近已被升级,我将提供处理未样式内容闪烁的方法。这并没有让我失望
1.)将类添加到单页应用程序的主页面:
<style>
.m-hide-unstyled-content {
visibility: hidden;
}
</style>
<script>
function removeFlickerOfUnstyledContentClass() {
// flicker of unstyled content fix
$(".m-hide-unstyled-content).removeClass("m-hide-unstyled-content");
}
</script>
4.)最后,在每个视图的data init
函数末尾调用我们在步骤2中创建的函数:
<div data-role="view" data-init="initMyView">
...
</div>
<script>
function initMyView(event) {
...
removeFlickerOfUnstyledContentClass();
}
</script>
...
函数initMyView(事件){
...
移除FlicketofUnstyledContentClass();
}
使用此设置,您将永远不会遇到那些令人讨厌的未设置样式的内容闪烁!希望这对一些人有所帮助。我可以通过将display:none设置为闪烁的元素来避开闪烁。然后根据需要使用CSS或JS来显示它们。也许是隐藏或显示。谢谢您的反馈,@underlog。实际上,我正在将数据角色=内容手动添加到我的所有视图中。此外,隐藏应用程序容器将生成一个错误,表示Kendo找不到任何视图。这就是为什么我要走这条路。。
<div data-role="view" data-init="initMyView">
...
</div>
<script>
function initMyView(event) {
...
removeFlickerOfUnstyledContentClass();
}
</script>