使用cfdiv绑定时禁用插页式图形

时间:2008-09-25 22:24:46

标签: ajax coldfusion

当cfdiv刷新时,有没有办法让“Loading ...”图形不显示?我想阻止加载图形然后加载新的html的闪烁。

4 个答案:

答案 0 :(得分:4)

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

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

虽然这似乎可以解决问题,但如果有一种官方支持的方式来定制每页或每个控件的加载动画,那将会很不错。希望他们在ColdFusion9中添加对它的支持。

答案 1 :(得分:1)

我认为目前无法在cfdiv标记内以编程方式执行此操作。如果你真的想摆脱那个“正在加载...”的消息和图片,你可以看几个地方。

您可以重命名或删除位于以下位置的图片: CFIDE \ scripts \ ajax \ resources \ cf \ images \ loading.gif

只能摆脱动画。 “正在加载...”文本可以空白为空字符串,并在以下内容中定义: CFIDE \ scripts \ ajax \ messages \ cfmessage.js

进行这些更改显然会对cfdiv以外的标记产生影响,但如果您希望在一个地方消除此行为,我相信您也不会介意在其他任何地方将其删除。 :)

如果其他人有任何想法,我很乐意看到更清洁的方法。

答案 2 :(得分:1)

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

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

#TitleNameloadingicon {visibility:hidden;}
#TitleName_cf_button {visibility:hidden;}
#TitleNameautosuggest {background-color:#ffffff;}

答案 3 :(得分: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');
}