Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何向新元素添加样式并在其创建时将其删除_Javascript_Html_Css_Ajax - Fatal编程技术网

Javascript 如何向新元素添加样式并在其创建时将其删除

Javascript 如何向新元素添加样式并在其创建时将其删除,javascript,html,css,ajax,Javascript,Html,Css,Ajax,我有一个javascript代码,就是单击按钮创建新元素,我有一个问题。 以下是我的javascript代码: var comment = document.querySelector("#AddComment"); var req = new XMLHttpRequest(); if(comment){ comment.addEventListener("click", function () { var csrftok = '{{ csrf_token }}';

我有一个javascript代码,就是单击按钮创建新元素,我有一个问题。 以下是我的javascript代码:

var comment = document.querySelector("#AddComment");
var req = new XMLHttpRequest();

if(comment){
    comment.addEventListener("click", function () {
        var csrftok = '{{ csrf_token }}';
        req.open('POST', '{{ request.path }}');
        CommentBlock = {
            "text": comment.previousElementSibling.value,
            //'csrfmiddlewaretoken': csrftok,
        };
        req.setRequestHeader('X-CSRFToken', csrftok);
        req.setRequestHeader("Content-Type", "application/json");
        req.onreadystatechange = function () {
            if(req.readyState == 4) {
                let text = document.createElement('div');
                text.innerHTML = req.responseText;
                let comment_blocks = text.querySelector("#comments").getElementsByClassName("commentblock");
                let new_block = comment_blocks[comment_blocks.length - 1];
                document.querySelector("#comment_addform").before(new_block);
            };
        };
        req.send(JSON.stringify(CommentBlock));
    });
}
我如何向这个新元素添加一个样式,它在创建时只会播放一次,并且在创建了这个元素并且不再需要这个样式时删除这个样式

UPD。我的html代码:

<div class="jumbotron col-md-7 col-md-push-2" id="comments" data-aos="fade-up">
{% for comment in post.comments.all %}
    {% if comment.is_parent %}
    <div class="commentblock">
        <div class="row">
            <div class="col-sm-2 col-md-2">
                <div class="thumbnail">
                    <img class="img-responsive user-photo" src="{{ comment.author.profile.image.url }}">
                </div>
            </div>

            <div class="col-sm-9 col-md-10">
                <div class="panel panel-default">
                    <div class="panel-heading">
                        <strong>{{ comment.author }}</strong> {# <span class="text-muted">commented 5 days ago</span> #}
                    </div>
                    <div class="panel-body">
                        {{ comment.text }}
                    </div>
                    <div class="panel-footer" id="answers_{{ comment.id }}">
                        {% for child in comment.children %}
                            <div class="answerblock">
                                <div class="row col-md-push-1">
                                    <div class="col-sm-2 col-md-2">
                                        <div class="thumbnail">
                                            <img class="img-responsive user-photo" src="{{ child.author.profile.image.url }}">
                                        </div>
                                    </div>
                                    <div class="col-sm-10 col-md-10">
                                        <div class="panel panel-default">
                                            <div class="panel-heading">
                                                <strong>{{ child.author }}</strong> {# <span class="text-muted">commented 5 days ago</span> #}
                                            </div>
                                            <div class="panel-body">
                                                {{ child.text }}
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        {% endfor %}
                        <form method="post" id="answer_addform_{{ comment.id }}">
                            <div class="form-group">
                                {% csrf_token %}
                                <input type="hidden" name="parent_id" value="{{ comment.id }}">
                                {{ comment_form.text|add_class:'form-control'|attr:'cols:'|attr:'rows:' }}
                                <input type="reset" class="btn btn-sm btn-block AddAnswer" onclick="sendreqfor_answer(this)" value="Ответить"/>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>

{%用于post.comments.all%中的注释}
{%if comment.is_parent%}
{{comment.author}{#5天前发表评论}
{{comment.text}
{comment.children%}
{{child.author}{#5天前发表评论}
{{child.text}
{%endfor%}
{%csrf_令牌%}
{{comment_form.text{add_class:'form-control'| attr:'cols:'| attr:'rows:'}}

如果我理解正确,您最好的选择是使用CSS动画

我不确定您试图为哪个元素设置动画,但假设该元素具有“commentblock”类。如果要使动画淡入淡出,则CSS代码可能如下所示:


您可以在这里找到更多详细信息:

将html代码发布到好的,我已经发布了

.commentblock {
    animation: custom 1s;
}

@keyframes custom {
    0% {
        display: block;
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}