代码之家  ›  专栏  ›  技术社区  ›  MadDev

Jquery不会隐藏/显示div

  •  0
  • MadDev  · 技术社区  · 7 年前

    滑动分页

    <script type="text/javascript">
        jQuery(document).ready(function ($) {
            var thislive = document.getElementById('liveChat');
            $(thislive).hide();
    
            $("#chatBox").click(function () {
                var thislive = document.getElementById('liveChat');
                $(thislive).delay(30000).show(); // Display after 30 seconds
            });
        });
    </script>
    
    <div id="liveChat">
        <!-- Start of LiveChat (www.livechatinc.com) code -->
        <script type="text/javascript">
            window.__lc = window.__lc || {};
            window.__lc.license = 111111;
            (function () {
                var lc = document.createElement('script'); lc.type = 'text/javascript'; lc.async = true;
                lc.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'cdn.livechatinc.com/tracking.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(lc, s);
            })();
        </script>
        <!-- End of LiveChat code -->
    </div>
    

                <div class="col-sm-3 col-md-3">
                    <a id="chatBox" href="#panel-column-3" class="panel-column row-collapse-toggle collapsed" data-toggle="collapse" aria-expanded="false" aria-controls="bpanel-column-3">
                        <i class="fa fa-question-circle"></i>
                        <h3>@Umbraco.Field("contactustab3title")</h3>
                    </a>
                    <div class="row-collapse collapse" id="panel-column-3">
                        <div class="inner">
                            @Umbraco.Field("contactustab3content")
                        </div>
                    </div>
                </div>
    

    更新

    <script type="text/javascript">
        jQuery(document).ready(function ($) {
        var thislive = document.getElementById('liveChat');
        $(thislive).hide();
    
            $("#chatBox").click(function () {
                var thislive = document.getElementById('liveChat');
                $(thislive).delay(5000).show(0); //5 seconds
            });
        });
    </script>
    
    <div id="liveChat">
        <div>
            test
        </div>
    </div>
    
    5 回复  |  直到 7 年前
        1
  •  0
  •   Ankit Agarwal    7 年前

    你可能想设置 timeout delay

     setTimeout(function(){ $(thislive).show(); }, 30000);
    

    所以更换

    $(thislive).delay(30000).show();
    

    最终代码

    <script type="text/javascript">
        jQuery(document).ready(function ($) {
            var thislive = document.getElementById('liveChat');
            $(thislive).hide();
    
            $("#chatBox").click(function () {
                var thislive = document.getElementById('liveChat');
                 setTimeout(function(){ $(thislive).show(); }, 30000); // Display after 30 seconds
            });
        });
    </script>
    
        2
  •  0
  •   Heshan Kit    7 年前

    ( $(thislive).delay(30000).show(); )代码至

    $(thislive).delay(30000).show(0);
    

    它会起作用的

        3
  •  0
  •   roee58    7 年前

    尝试使用该代码:

        $(document).ready(function($){
    $('#liveChat').hide();
    $('#chatBox').click(function(){
    $('#liveChat').delay(30000).fadeIn();
    });
    });
    
        4
  •  0
  •   adiga    7 年前

    $(thislive).delay(30000).show(0);

    根据以下文件: .delay()

    delay() 可以与标准效果队列或自定义队列一起使用。这不会延迟 .show() .hide()

    .显示()

    这是一个 fiddle

        5
  •  0
  •   MadDev    7 年前

    我通过使用setTimeout()方法解决了这个问题。 我的聊天盒超链接现在有一个onclick调用,调用了一个名为loadChat()的新方法。

        <script type="text/javascript">
        function loadChat() {
            setTimeout(showChat, 5000) // load the chat icon after 5 seconds
        }
    
        function showChat() {
            window.__lc = window.__lc || {};
            window.__lc.license = 1111111;
            (function () {
                var lc = document.createElement('script'); lc.type = 'text/javascript'; lc.async = true;
                lc.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'cdn.livechatinc.com/tracking.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(lc, s);
            })();
        }
    </script>