Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[经验] uchome ajax载入状态修正,99%的都有这问题

[复制链接]
rayn 发表于 2010-4-15 16:02:21 | 显示全部楼层 |阅读模式
本帖最后由 rayn 于 2010-4-15 16:12 编辑

ajax loading状态显示不正确,修改下面两处地方
/source/ajax.js
334行
  1. function ajaxmenu(e, ctrlid, isbox, timeout, func) {
  2.     var offset = 0;
  3.     var duration = 3;
  4.     if (isUndefined(timeout)) {
  5.         timeout = 0;
  6.     }
  7.     if (isUndefined(isbox)) {
  8.         isbox = 0;
  9.     }
  10.     if (timeout > 0) {
  11.         duration = 0;
  12.     }
  13.     showloading();
  14.     if (jsmenu.active[0] && jsmenu.active[0].ctrlkey == ctrlid) {
  15.         hideMenu();
  16.         doane(e);
  17.         return;
  18.     } else if (is_ie &&
  19.         is_ie < 7 && document.readyState.toLowerCase() != "complete") {
  20.         return;
  21.     }
  22.     if (isbox) {
  23.         divclass = "popupmenu_centerbox";
  24.         offset = -1;
  25.     } else {
  26.         divclass = "popupmenu_popup";
  27.     }
  28.     var div = $(ctrlid + "_menu");
  29.     if (!div) {
  30.         div = document.createElement("div");
  31.         div.ctrlid = ctrlid;
  32.         div.id = ctrlid + "_menu";
  33.         div.style.display = "none";
  34.         div.className = divclass;
  35.         $("append_parent").appendChild(div);
  36.     }
  37.     var x = new Ajax;
  38.     var href = !isUndefined($(ctrlid).href) ? $(ctrlid).href : $(ctrlid).attributes.href.value;
  39.     x.div = div;
  40.     x.etype = e.type;
  41.     x.get(href, function (s) {evaled = false;if (s.indexOf("ajaxerror") != -1) {evaled = true;}if (s.indexOf("hideMenu()") == -1) {s = "<h1>\u6D88\u606F</h1><a href="javascript:hideMenu();" class="float_del" title="\u5173\u95ED">\u5173\u95ED</a><div class="popupmenu_inner">" + s + "<div>";}if (!evaled) {if (x.div) {x.div.innerHTML = s;}showMenu(ctrlid, x.etype == "click", offset, duration, timeout, 0, ctrlid, 1000, true);if (func) {setTimeout(func + ("('" + ctrlid + "')"), 10);}}evalscript(s);
  42. showloading("none");//将隐藏LOADING放在异步调用完成后
  43. });
  44.     //showloading("none"); 这句移到上面了,删掉
  45.     doane(e);
  46. }
复制代码
434行
  1. function showloading(display, wating) {
  2.     var display = display ? display : "block";
  3.     var wating = wating ? wating : "Loading...";
  4.     $("ajaxwaitid").innerHTML = wating;
  5.     //添加下面这一句,避免在第一屏之外看不到 loading
  6.     $("ajaxwaitid").style.top = (document .documentElement.scrollTop || document .body.scrollTop)+'px';
  7.     $("ajaxwaitid").style.display = display;
  8. }
复制代码
rshang 发表于 2010-4-15 16:03:42 | 显示全部楼层
展位中www.0311e.com
回复

使用道具 举报

 楼主| rayn 发表于 2010-4-15 16:07:49 | 显示全部楼层
第一次发帖,自己顶!
回复

使用道具 举报

mels 发表于 2010-4-21 17:24:15 | 显示全部楼层
99%??有這麼嚴重喔!可是怎很少有人提出這個問題呢!?
回复

使用道具 举报

epai1006 发表于 2010-4-21 19:01:01 | 显示全部楼层
路过!!!!路过!!!!
回复

使用道具 举报

gteam 发表于 2010-4-24 22:35:47 | 显示全部楼层
支持楼主无私分享
回复

使用道具 举报

phantomsr 发表于 2010-4-25 10:14:02 | 显示全部楼层
最个记号,备用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 18:22 , Processed in 0.027622 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表