以下为响应鼠标拖动滑动条的脚本,但是运行时发现有的机器到了这个页面移动滑动条的话就会死机。我怀疑是占用CPU太多的缘故,一看,运行时占用了70%左右的CPU。为什么会死机?请指教。谢。补充下,程序是运行在linux下。
function event_mousedown()
{
    
    var strID = window.event.srcElement.id;
    
    if (strID.length > 4 && strID.substring(0,4) == "knob")
    {
        
        sKnobDragging = strID;
        nKnobOffset = window.event.screenX - window.document.all.item(sKnobDragging).style.pixelLeft;
    }
    else
        sKnobDragging = "";
    
}

function event_mouseup()
{
   sKnobDragging = "";
       window.event.cancelBubble = true;
    window.event.returnValue = false;    

    return;
    }
function event_slider()
{
    if (sKnobDragging.length > 0) 
    {
        
        nPos = window.event.screenX - nKnobOffset;
        var nPosLen = 0;        
        switch(sKnobDragging)
        {
            case "knobColorB":
                nPosLen = document.all.tdColorB.clientWidth - document.all.knobColorB.clientWidth;
                ratio = MAX_Analog/nPosLen;
                break;
            case "knobColorC":
                nPosLen = document.all.tdColorC.clientWidth - document.all.knobColorC.clientWidth;
                ratio = MAX_Analog/nPosLen;
                break;
            case "knobColorH":
                nPosLen = document.all.tdColorH.clientWidth - document.all.knobColorH.clientWidth;
                ratio = MAX_Analog/nPosLen;
                break;
            case "knobColorS":
                nPosLen = document.all.tdColorS.clientWidth - document.all.knobColorS.clientWidth;
                ratio = MAX_Analog/nPosLen;
                break;
        }
        
        if (nPos > nPosLen)
            nPos = nPosLen;
        else if (nPos < 0)
            nPos = 0;

        switch(sKnobDragging)
        {
            case "knobColorB":
                public_ColorB = parseInt(ratio * nPos);   
                ColorB.innerText=public_ColorB
                break;
            case "knobColorC":
                public_ColorC = parseInt(ratio * nPos);   
                ColorC.innerText=public_ColorC
                break;
            case "knobColorH":
                public_ColorH = parseInt(ratio * nPos);   
                ColorH.innerText=public_ColorH
                break;
            case "knobColorS":
                public_ColorS = parseInt(ratio * nPos);   
                ColorS.innerText=public_ColorS
                break;
        }
        
        window.document.all.item(sKnobDragging).style.pixelLeft = nPos;
    }
    
    window.event.cancelBubble = true;
    window.event.returnValue = false;    

}