Jquery中断Javascript在加载jquery-1.7.1.min.js期间工作

时间:2012-03-20 12:15:06

标签: javascript jquery

我有js脚本加载我的Home消息,粉丝等。问题是当我加载任何版本的JQuery时,堆叠在微调器图像上。 的 + webaddr +'/图像/ spinner.gif

每当我读到jquery它就可以正常工作。

正如您在下面的代码中看到的那样, stab _ 会加载特定的需求。

例如: hmhome load hm_home 。等

我还必须重写代码但没有帮助。

有什么想法吗?

// Load messages  
function showhome(tp,u,p,primsgtype){
    $("homecontainer").innerHTML='<img src="'+webaddr+'/images/spinner.gif">';
    var linum=$("primary_nav").getElementsByTagName("li").length;
    for (var i=0; i<linum; i++) {
        if ($("primary_nav").getElementsByTagName("li")[i].className=="current"){
            $("primary_nav").getElementsByTagName("li")[i].className="";
        }
    }
    $("stab_"+tp).className="loading";
    var request = YAHOO.util.Connect.asyncRequest('GET', webaddr+"/home/"+tp+"/u."+u+"/p."+p+"&pm="+primsgtype+"&rank="+GetRandomNum(1,999999), {
        success:function(o){
            $("homecontainer").innerHTML=o.responseText;
            $("stab_"+tp).className="current";
            YAHOO.util.Event.onContentReady("stream",function(){
                var el=YAHOO.util.Dom.get("stream");
                if(!el){return;}
                var _li=el.getElementsByTagName("li");
                YAHOO.util.Event.on(_li,"mouseover",function(e){
                    YAHOO.util.Dom.addClass(this,"light");
                    YAHOO.util.Dom.removeClass(this,"unlight");
                    });
                YAHOO.util.Event.on(_li,"mouseout",function(e){
                    YAHOO.util.Dom.addClass(this,"unlight");
                    YAHOO.util.Dom.removeClass(this,"light");
                });
            });
            if ($("homenum") && $("hmhome")) {
                $("homenum").innerHTML=$("hmhome").value;
            }
            if ($("favoritenum") && $("hmfavorite")) {
                $("favoritenum").innerHTML=$("hmfavorite").value;
            }           if ($("repadnum") && $("hmrepad")) {
                $("repadnum").innerHTML=$("hmrepad").value;
            }           if ($("noticenum") && $("hmnotice")) {
                $("noticenum").innerHTML=$("hmnotice").value;
            }           if ($("followlistnum") && $("hmfollowlist")) {
                $("followlistnum").innerHTML=$("hmfollowlist").value;
            }           if ($("fanlistnum") && $("hmfanlist")) {
                $("fanlistnum").innerHTML=$("hmfanlist").value;
            }           if ($("sharelistnum") && $("hmsharelist")) {
                $("sharelistnum").innerHTML=$("hmsharelist").value;
            }           if ($("youfollownum") && $("hmyoufollow")) {
                $("youfollownum").innerHTML=$("hmyoufollow").value;
            }           if ($("recordsnum") && $("hmrecords")) {
                $("recordsnum").innerHTML=$("hmrecords").value;
            }           if ($("usersaysnum") && $("hmuusersays")) {
                $("usersaysnum").innerHTML=$("hmusersays").value;
            }
            if ($("primsghead")) {
                $("info").style.display="none";
            } else {
                $("info").style.display="block";
            }
            if (tp=="privatemsg") {
                YAHOO.util.Event.on("pmcontentbox", "keyup", function(e) {
                    var pmlen=$('pmcontentbox').value.length;
                    $('pmnums').innerHTML=pmlen;
                    if (len>150) {
                        $('pmcontentbox').value=$('pmcontentbox').value.slice(0,150);
                    }
                });
            }
        },
        failure:function(o){}
    }); }

最后一次试过jquery-1.7.1.min.js 我将非常感谢任何指导方针。

1 个答案:

答案 0 :(得分:1)

您展示的代码正在使用$()函数,该函数可能由其他库定义,似乎是document.getElementById()的快捷方式。 jQuery默认还定义了一个$()函数,因此您显示的代码将调用jQuery $()而不是正确的代码。幸运的是,jQuery提供了一种消除此冲突的方法。在脚本开头使用:

jQuery.noConflict();

然后,如果您想调用jQuery,请使用jQuery()而不是$()。或者定义别名:

var j = jQuery.noConflict();
j("#something").hide();  // or whatever

有关jQuery doco page for .noConflict()的示例的更多信息。