用加载图标切换元素

时间:2012-06-19 13:53:42

标签: javascript jquery

我想要做的是当用户点击按钮时,将按钮的图像更改为加载图标。

我的javascript函数看起来像这样 -

function GenerateDetail() {
    var resBtn = $('ctl00_cpMain_cntnrRoot').find("btn_generateDetail");
    if (resBtn != null) {
        toggleElement(resBtn);
    }
}

function toggleElement(aRelEle) {
    if ($(aRelEle).css("display") != "none") {
        addImage(aRelEle);
        $(aRelEle).css("display", "none");
    }
    else {
        $(aRelEle).prev().remove();
        $(aRelEle).css("display", "inline");
    }
}

function addImage(aParEle) {
    var aImage = document.createElement("img");
    var aSrc = "App_Themes/Images/activityloader.gif";
    aImage.border = "0";
    aImage.src = aSrc;
    aParEle.appendChild(aImage);
}

在toggleElement中,$(aRelEle).css(“display”)未定义。为什么? 'ctl00_cpMain_cntnrRoot'是我在页面上所有元素周围的div。

2 个答案:

答案 0 :(得分:2)

我认为问题在于这一行:

 var resBtn = $('ctl00_cpMain_cntnrRoot').find("btn_generateDetail");

什么是ctl00_cpMain_cntnrRoot?这是一堂课吗?那应该是.ctl00_cpMain_cntnrRoot还是id?然后它应该是:#ctl00_cpMain_cntnrRoot

同样适用于你的find()。 btn_generateDetail是id还是类?

答案 1 :(得分:0)

您使用的是html按钮标记吗?如果是这样你可以将图像放在按钮中并给它一个display =“none”的样式,那么你可以在单击按钮时切换这种样式。 例如:

<button>
    <img id="loadingIcon" src="" style="display:none"/> Button Text Here
</button>