首页 > 解决方案 > 使消息在滚动时消失(PHP)

问题描述

这是您访问网站时出现的 cookie 政策消息的代码。当用户单击 Accept 时消息消失,但我希望消息在用户滚动页面时消失。我应该在这段代码中添加什么来实现它?

<?php
$gprd_desc       = cool_get_setting( 'cool_gprd_desc' );
$gprd_accept     = cool_get_setting( 'cool_gprd_btn_accept' );
$gprd_rmore      = cool_get_setting( 'cool_gprd_rmore' );
$gprd_rmore_link = cool_get_setting( 'cool_gprd_rmore_link' );
$cool_gprd_text = cool_get_setting( 'cool_gprd_policy_text' );
if ( get_theme_mod( 'cool_enable_cookie_law' ) && $gprd_desc && $gprd_accept ) :
    ?>
    <div class="cool-wrap-gprd-law cool-wrap-gprd-law-close cool-close-all">
        <div class="cool-gprd-law">
            <p>
                <?php if ( $gprd_desc ): echo $gprd_desc; endif; ?>
                <?php if ( $gprd_accept ): echo '<a class="cool-gprd-accept" href="#">' . $gprd_accept . '</a>'; endif; ?>
                <?php if ( $gprd_rmore ): echo '<a class="cool-gprd-more" href="' . $gprd_rmore_link . '">' . $gprd_rmore . '</a>'; endif; ?>
            </p>
        </div>
        <?php if ( ! get_theme_mod( 'cool_show_cookie_law' ) ): ?>
            <a class="cool-gdrd-show" href="#"><?php echo $cool_gprd_text; ?></a>
        <?php endif; ?>
    </div>

<?php endif; ?>

标签: phpscroll

解决方案


为此(隐藏滚动元素) - 我建议使用Javascript

window.onscroll(function() {
   document.getElementById("cookie-bar").style.display = "none";
});

它的作用是监听用户窗口,当它滚动时,它会执行花括号内的代码。它会找到 id 为“cookie-bar”的元素(您必须在标记中添加一个 ID - 见下文),然后隐藏该元素。

元素上的 id 示例是:

<div class="cool-wrap-gprd-law cool-wrap-gprd-law-close cool-close-all" id="cookie-bar">

推荐阅读