【问题标题】:javascript and css in asp.netasp.net 中的 javascript 和 css
【发布时间】:2011-09-20 17:33:33
【问题描述】:

我正在使用 c# 将应用程序移至 asp.net,其中已经包含一些 javascript。

我有以下javascript函数:

function toggle(id) {
    var tog = document.getElementById(id);
    if (tog == null) { return; }
    var bExpand = tog.style.display == '';
    tog.style.display = (bExpand ? 'none' : '');
}

我称它为<a href="javascript:void(0);" onclick="toggle('programinfo');" class="nobold">[-]</a>

如您所见,它唯一做的就是将显示属性从无切换为空白,从而相应地显示或不显示 id 'programinfo'。

来自coldfusion,它运行良好,我只有一个名为programinfo 的div,每次单击链接时它都会显示或不显示div 的内容。但是,现在它什么也没做。如果我在值tog.style.display 上添加警报,它会显示空白值或值无,所以我知道它正在获取值,但是它不再翻转值。

我在 div 和表格上都试过了,没有。然后我什至尝试在默认情况下将style="display:none;" 属性添加到表中以使其消失,但即使这样仍然不起作用。

此时我唯一的猜测是它与asp有关,但我无法在任何地方找到它,所以我不确定。有人有什么想法吗?谢谢。

编辑 - 通过请求 html 输出到浏览器:

<table width="100%" border="0" class="dgbc" cellspacing="0" cellpadding="5">
    <tr>
        <td colspan="12" class="section_header" style="background-repeat:no-repeat;background-image:url(images/tms_side1.jpg);margin:0;background-position:right;">
            <span style="float: right;"><a href="javascript:void(0);" onclick="toggle('programinfo');" class="nobold">[-]</a></span>
            PROGRAM INFO
        </td>
    </tr>
    <tr>
        <td valign="top">
            <table width="100%">
                <div id="programinfo" style="display:none;">
                    blah blah blah
                </div>
            </table>
        </td>
    </tr>
</table>

【问题讨论】:

  • 页面是否在.Master 页面中?
  • 你试图切换的 div 是一个 asp.net 服务器控件还是只是一个普通的 html div?
  • 似乎工作正常jsfiddle.net/T8Y59
  • 您的toggle 函数在哪里声明?您能否提供一个由 ASP.NET 输出的 HTML 示例?
  • -它们不在母版页中-只是常规的 html div 或表格-切换在外部 general.js 文件中

标签: javascript asp.net css


【解决方案1】:

我认为您面临的问题是 HTML 标记的使用无效。

            <table width="100%">
                <tr>
                    <td>
                        <div id="programinfo" style="display: none;">
                            blah blah blah
                        </div>
                    </td>
                </tr>
            </table>

将 Div 标签放在 td 和 tr 内。你会得到解决的问题。此问题在 IE6 和 IE7 中仍然存在。希望这会有所帮助。

【讨论】:

    【解决方案2】:

    如果您从"display:none" 开始,然后将显示切换为空白,那么它会显示什么? CSS中有"display:block"吗?您可以尝试将显示切换到'block' 而不是什么都没有吗?

    【讨论】:

      猜你喜欢
      • 2013-01-05
      • 2011-05-01
      • 1970-01-01
      • 2015-04-21
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      • 2014-02-12
      • 1970-01-01
      相关资源
      最近更新 更多