4

有没有办法在 cfdiv 刷新时不显示“正在加载...”图形?我想防止加载图形然后加载新的html时闪烁。

4

4 回答 4

4

通过在标题底部添加这些行,它会覆盖“正在加载...” html,并且似乎可以防止 IE 和 FireFox 中的闪烁效果:

 <script language="JavaScript"> 
 _cf_loadingtexthtml=""; 
 </script> 

虽然这似乎可以解决问题,但如果有官方支持的方法可以在每个页面或每个控件的基础上自定义加载动画,那就太好了。希望他们在 ColdFusion9 中添加对此的支持。

于 2008-09-26T16:34:01.650 回答
1

我认为目前没有办法在cfdiv标签中以编程方式执行此操作。如果您真的想摆脱“正在加载...”消息和图像,您可以查看几个地方。

您可以重命名或删除图像,该图像位于: CFIDE\scripts\ajax\resources\cf\images\loading.gif

那只会摆脱动画。"Loading..." 文本可以空白为空字符串,定义在:CFIDE\scripts\ajax\messages\cfmessage.js

进行这些更改显然会对除 之外的标签产生影响cfdiv,但是如果您希望在一个地方消除这种行为,我相信您也不会介意在其他任何地方杀死它。:)

如果其他人有任何想法,我很乐意看到一种更清洁的方式来做到这一点。

于 2008-09-26T16:06:56.177 回答
1

这绝不是一个全面或优雅的解决方案,但我发现在相邻元素上使用负边距可以“覆盖”动画。我不知道这种方法是否适用于所有情况,但对于我的特殊情况它有效。动画出现在绑定的文本字段旁边,其右侧是一个提交按钮。图层向右浮动。我在提交按钮上使用了负边距,它覆盖了动画而不影响图层对齐。

我做的另一项措施是检查层结构,并确保将以下代码添加到我的 css 中:

#TitleNameloadingicon {visibility:hidden;}
#TitleName_cf_button {visibility:hidden;}
#TitleNameautosuggest {background-color:#ffffff;}
于 2010-03-05T12:26:29.223 回答
0

您可以创建函数以在调用 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');
}
于 2010-02-15T20:02:18.243 回答