javascript - Wordpress Javascript 模态显示不关闭

标签 javascript php html css wordpress

当我点击一个 div 时,我有一个打开模式的功能。它会打开,但是当我按 X 时它不会关闭模式。显示不会将值更改为无,但我可以更改背景颜色和其他所有内容。

更新 -> 所以获得正确的 clasName 和正确的模态 ID,我仍然可以更改等的整个模态背景,但我不能将显示: block 值更改为无,我可以通过检查更改为无,但它不会通过选择器工作。

我让它通过我自己的 WordPress 循环运行,我需要在其中获取帖子 ID 和模态 ID (),以显示正确的内容。

找到问题。

所以当我在控制台记录 thisBtn 事件并单击事件时,我在控制台中得到了这个: 1.pressing点击打开我得到显示 block 2. 但是当我按下 X(关闭)时,我得到的 var model 是 NONE,然后立即点击开火并再次阻止它。所以我的错误是 X 按钮同时触发,我正在尝试解决这个问题。 CONSOLE PICTURE FOR THE ERROR

<div id="click-to-open<?php echo get_the_ID(); ?>" data-modal="<?php echo get_the_ID(); ?>" class="qodef-event-list-item-holder  <?php  echo get_the_ID(); ?>">

<?php echo prowess_core_get_shortcode_module_template_part('templates/parts/image', 'event-list'); ?>

<div class="qodef-event-list-item-content">
  <div class="qodef-event-list-item-content-holder">
    <div class="qodef-event-list-item-content-inner">
    <?php
    echo prowess_core_get_shortcode_module_template_part('templates/parts/category', 'event-list', '', $params);
    echo prowess_core_get_shortcode_module_template_part('templates/parts/title', 'event-list', '', $params);
    echo prowess_core_get_shortcode_module_template_part('templates/parts/excerpt', 'event-list', '', $params);
    //echo prowess_core_get_shortcode_module_template_part('templates/parts/info', 'event-list', '', $params);
    echo prowess_core_get_shortcode_module_template_part('templates/parts/read-more', 'event-list', '', $params);
    ?>
    </div>
  </div>
</div>
<!-- The Modal -->
<div id="<?php echo get_the_ID();?>" class="modal" >
<!-- Modal content -->
  <div class="modal-content" id="content<?php echo get_the_ID();?>" >
    <span id="close" class="close<?php echo get_the_ID();?>" data-modal="close">&times;</span>
    <p><?php the_content( 'Read more ...' ); ?></p>                                
  </div>

模态

var btn = document.getElementsByClassName("<?php echo get_the_ID(); ?>");
  for (var i = 0; i < btn.length; i++) {
    var thisBtn = btn[i];
    thisBtn.addEventListener("click", function() {
      var modal1 = document.getElementById(this.dataset.modal);
      modal1.style.display = "block";  
    }, false);
}

克雷祖卡斯

var span = document.getElementsByClassName("close<?php echo get_the_ID();?>");
// console.log(span)
  for (var b = 0; b < span.length; b++) {
    var click = span[b];
    click.addEventListener("click", function(){
      var modal = document.getElementById("<?php echo get_the_ID();?>");
      modal.style.display = 'none';
      console.log("modal", modal)
      console.log('modal style--->', modal.style);
    }, false);
}

最佳答案

Photo For Answer

所以问题是事件监听器中的值 false 我需要将其更改为 true。 说明:https://www.w3schools.com/js/js_htmldom_eventlistener.asp

关于javascript - Wordpress Javascript 模态显示不关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51035785/

相关文章:

html - 在富文本框中编写的 CSS 悬停

javascript - jquery/javascript 函数在 firebug 控制台中工作,但在页面加载时不起作用

javascript - TypeError : _app2. default.database 不是函数。 (在 '_app2.default.database()' 中, '_app2.default.database' 未定义)

javascript - 如果存在重复值,则从数组中删除一个对象。 JavaScript

javascript - 无法设置 JavaScript 对象的属性

php - 从数据库动态创建的 PayPal SDK (PHP) 项目

html - SVG 路径在 IE10+ 中没有大小,不显示标签位置

javascript - 返回多个类型的函数,以逗号分隔。 Typescript 中的内容是什么?

php - MongoDB/Doctrine : can't nest $or in $and

php - WampServer 3.2.3 无法访问局域网,