0

我正在尝试使用 jquery 的切换隐藏/显示在 for 循环中的 div。当我单击按钮进行切换时,div 会快速滑出,然后再次隐藏。发生这种情况时,切换按钮似乎在下一次单击时几乎被禁用......然后再次使用相同的有问题的 div 显示。我使用了 {{email.sender}} 模板值,因为当我点击切换按钮时,列表中的所有项目都会被激活,而不仅仅是那个。下面的代码被插入到带有 Jquery 的选项卡中(这部分正在工作)。感谢您对此提供的任何建议-

<div id="email_received_list">
    {% for email in email_received_list %}
        <p>
            <input type="button" id="{{email.sender}}" value="Show Message">      {{email.sender}}:  {{ email.subject }} 
        </p> 
    <script>
        $(document).ready(function(){
            $('#{{email.sender}}').click(function() {
                $('.{{email.sender}}').slideToggle('fast');
                return false;
            });
        }); 
    </script>       
    <div class="{{email.sender}}" style="display:none; background-color:#4CF;width:100%;height:100%;"></div>

    {% else %}
        (You have not received any messages yet.)   
    {% endfor %}

4

1 回答 1

0

好的,我觉得这个很愚蠢-但是一旦我向 div 添加了一些实际内容(不仅仅是尝试为正方形着色),它就可以正常工作了。我猜因为它处于循环中,所以它试图调整 div 的大小以匹配内容。当没有内容时,div 只是再次隐藏自己。如果您对此有所了解,请告诉我-谢谢。

于 2013-08-09T14:50:54.680 回答