javascript - div 在点击时显示两次

标签 javascript jquery html css

我有这个代码:

    function swap(id1, id2, id3, id4) {
    $("#" + id1).fadeOut(500);
    $("#" + id2).fadeOut(500);
    $("#" + id3).fadeOut(500, function () {

        document.getElementById(id1).src = document.getElementById(id2).src;


        document.getElementById(id3).innerHTML = document.getElementById(id4).innerHTML;
    });
    $("#" + id1).fadeIn(500);
    $("#" + id2).fadeIn(500);
    $("#" + id3).fadeIn(500);
    $(document).ready(function () {
        $("html, body").animate({scrollTop: 0}, 600);
    });
       }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" class="active" data-related="person1">

                        <div class="content-overlay" onclick="swap('img0', 'img1', 'desc0', 'desc1')"></div>
                        <img src="https://wallpaperbrowse.com/media/images/eiffel-tower-wallpaper-18.jpg" id="img1" class="newsImage"/>
                        <div class="content-details fadeIn-bottom" onclick="swap('img0', 'img1', 'desc0', 'desc1')">
                            <h3 class="content-title">This is a title</h3>
                            <p class="content-text">This is a short description</p>
                        </div>
                    </a>




     <div class="no-display" id="desc1">
                    <div class="gathering">
                        <span class="gatheringTitle">gathering 2017</span>
                        <div class="gatheringDate">
                            <span class="datee">Tue 7, Dec 2017</span>

                        </div>
                        <div class="gath">
                            <p class="text-justify gatheringText">Lorem ipsum dolor sit amet, consectetur adipiscing
                                elit, sed do eiusmod tempor incididunt ut
                                labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation
                                ullamco
                                laboris nisi ut aliquip ex ea commodo cons. ullamco

                                laboris nisi ut aliquip ex ea commodo cons.</p>
                        </div>
                    </div>
                </div>
                     <a href="#" class="active" data-related="person1">

                        <div class="content-overlay" onclick="swap('img0', 'img1', 'desc0', 'desc1')"></div>
                        <img src="https://wallpaperbrowse.com/media/images/Pattern-1920X1200-Wallpaper-Widescreen_318iyIu.jpg" id="img2" class="newsImage"/>
                        <div class="content-details fadeIn-bottom" onclick="swap('img0', 'img2', 'desc0', 'desc2')">
                            <h3 class="content-title">This is a title</h3>
                            <p class="content-text">This is a short description</p>
                        </div>
                    </a>

              </div>
                        <div class="no-display" id="desc2">
                            <div class="gathering">
                                <span class="gatheringTitle">gathering 2017</span>
                                <div class="gatheringDate">
                                    <span class="datee">Tue 8, Dec 2017</span>

                                </div>
                                <div class="gath">
                                    <p class="text-justify gatheringText">Lorem ipsum dolor sit amet, consectetur
                                        adipiscing
                                        elit, sed do eiusmod tempor incididunt ut
                                        labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
                                        exercitation
                                        ullamco
                                        laboris nisi ut aliquip ex ea commodo cons.</p>
                                </div>
                            </div>
                        </div>
            </li>

单击时我需要将图像更改为另一个图像,所以我使用 javascript 以及包含描述的 div 以及我如何做到这一点,但仍然无法正常工作

当我点击它时,图像发生了变化,但在检查时它显示了两次 div class=""gathering 和 tab-index 值我只想删除它并显示一次......一个想法?提前谢谢

最佳答案

调用 swap() 时指定

onclick="swap('img0', 'img1', 'desc0', 'desc1')"

你用

'desc0', 'desc1'

而 html 有

id="desc1" and id="desc2"

不确定这是否是您遇到问题的原因,但附上一个片段会很有帮助 :) 希望这对您有所帮助

关于javascript - div 在点击时显示两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47262287/

相关文章:

javascript - 使用ajax检查网站的响应时间

jquery - 为什么转换不起作用?

javascript - TinyMce 格式化问题

jquery - 照片网格仅显示一些图像

html - 即使在 100% 高度,我的 div 也只达到页面的一半

javascript - 我需要一个通用的 javascript "wait for function to be available"

javascript - 在 django formset 中动态添加行

javascript - 在 angular.js 中绑定(bind) ajax 页面

javascript - 将 JavaScript 附加到链接的推荐方法是什么

jquery - 设置基于 jquery 移动网络应用程序的 xmpp 聊天服务器