题
有没有办法保持“正在加载......” cfdiv刷新时出现的图形?我想阻止加载图形然后加载新的html的闪烁。
解决方案
通过在标题的底部添加这些行,它会覆盖“正在加载...”。 html并且似乎可以防止IE和FireFox中的闪烁效果:
<script language="JavaScript">
_cf_loadingtexthtml="";
</script>
虽然这似乎可以解决问题,但如果有一种官方支持的方式来定制每页或每个控件的加载动画,那将会很不错。希望他们在ColdFusion9中添加对它的支持。
其他提示
我认为目前无法在 cfdiv
标记内以编程方式执行此操作。如果你真的想摆脱那个“正在加载......”消息和图像,你可以看几个地方。
您可以重命名或删除位于以下位置的图片: CFIDE \ scripts \ ajax \ resources \ cf \ images \ loading.gif
只能摆脱动画。 “正在加载......”文本可以消隐为空字符串,并在以下内容中定义: CFIDE \ scripts \ ajax \ messages \ cfmessage.js
进行这些更改显然会对 cfdiv
以外的标记产生影响,但如果您希望在一个地方消除此行为,我相信您不会介意在其他任何地方将其删除太。 :)
如果其他人有任何想法,我很乐意看到更清洁的方法。
这绝不是一个全面或优雅的解决方案,但我发现在相邻元素上使用负边距可以“覆盖”。动画。我不知道这种方法是否适用于所有情况,但对于我的特殊情况,它是有效的。动画显示在绑定文本字段旁边,其右侧是提交按钮。该层浮动到右侧。我在提交按钮上使用了负边距,它覆盖了动画而不影响图层对齐。
我做的另一项措施是检查图层结构,并将以下代码添加到我的css中确定:
#TitleNameloadingicon {visibility:hidden;}
#TitleName_cf_button {visibility:hidden;}
#TitleNameautosuggest {background-color:#ffffff;}
您可以在调用可以将消息和图像设置为新值的ajax加载之前创建更改消息的函数。
function loadingOrder(){
_cf_loadingtexthtml="Loading Order Form <image src='/CFIDE/scripts/ajax/resources/cf/images/loading.gif'>";
}
function loadingNavigation(){
_cf_loadingtexthtml="Loading Menu <image src='/CFIDE/scripts/ajax/resources/cf/images/loading_nav.gif'>";
}
(这些最终将被整合到一个将同时采用text_value和image_path参数的函数中)
在我加载主导航和左导航cfdiv的一些进程中,我使用这样的函数:
function locateCreateOrder(){
loadingOrder();
ColdFusion.navigate('/functional_areas/orders/orders_actions/cf9_act_orders_index.cfm','main_content');
loadingNavigation();
ColdFusion.navigate('/functional_areas/products/products_actions/cf9_products_menu.cfm','left_menu');
}