【问题标题】:Div show/hide is not working inside partial viewDiv 显示/隐藏在局部视图中不起作用
【发布时间】:2017-07-06 12:45:51
【问题描述】:

我有一个部分视图,基于视图包的内容,我想显示 div 并在几秒钟后淡出,为此我使用的是 jQuery。如果我将代码放在主视图中,一切正常。不幸的是,我想在局部视图中弹出这个。下面给出的代码

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="error_Msg_div" class=" " data-label="canccelled" data-left="0" data-top="0" data-width="0" data-height="0" style="display:block;position: absolute !important; left: 600px !important ;" >

       
        @if (!string.IsNullOrEmpty(ViewBag.Message))
        {
        <!-- Unnamed (Rectangle) -->
            <div id="error_text" class="ax_default label">

                <!-- Unnamed () -->
                <div id="error_msg" class="text">
                    <p><span>@ViewBag.Message</span></p>
                </div>
            </div>
        }
    </div>
    <div>
        @if (!string.IsNullOrEmpty(ViewBag.Message))
        {
            <script type="text/javascript">
                alert("error");

                $("#error_Msg_div").show();
                $("#error_Msg_div").fadeOut(5000);

            </script>
        }
    </div>

在这里,即使是 JavaScript alert 也可以正常工作。但是“显示和淡出”不起作用。

【问题讨论】:

  • 你能确定你包含 jQuery 吗?
  • 你也可以链接$('#error_Msg_div').show().fadeOut(5000);之类的方法(这与你的问题无关,只是为了提高可读性)
  • 为我工作。可能你只是在页面上看不到。删除样式:style="display:block;position: absolute !important; left: 600px !important ;" 并查看
  • @web2017,你试过局部视图吗?
  • @poc 你用 ajax 调用局部视图吗?

标签: javascript jquery asp.net-mvc partial-views


【解决方案1】:

将您的脚本移到您尝试操作的 div 之外(和之后)。打开 chrome 开发者工具并在控制台中发布您发现的任何剩余错误。

【讨论】:

    【解决方案2】:

    请在下面找到答案

    <div id="error_Msg_div" class=" " data-label="canccelled" data-left="0" data-top="0" data-width="0" data-height="0" style="display:block;position: absolute !important; left: 600px !important ;">
    
    
        @if (!string.IsNullOrEmpty(ViewBag.Message))
        {
        <!-- Unnamed (Rectangle) -->
            <div id="error_text" class="ax_default label">
    
                <!-- Unnamed () -->
                <div id="error_msg" class="text">
                    <p><span>@ViewBag.Message</span></p>
                </div>
            </div>
        }
    </div>
        <script type="text/javascript">
            $(document).ready(function () {
                if ('@ViewBag.Message' == '') {
    
                    alert("error");
    
                    $("#error_Msg_div").show();
                    $("#error_Msg_div").fadeOut(5000);
                }
            });
    
        </script>
    

    视图加载时需要调用javascript函数

    【讨论】:

    • 这只有在我将代码放在主视图中时才有效。我希望这是部分视图。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-15
    • 1970-01-01
    • 1970-01-01
    • 2016-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多