首页 文章

php在popup div中发布内容

提问于
浏览
1

我在网站中有几个链接到单独的php帖子的元素 . 该网站还有一个弹出式div('它是一个自定义模式窗口') . 弹出div有两个部分, Headers 和内容 .

单击元素时,将显示弹出窗口 . 我希望关联的php帖子 Headers 和内容出现在其正确部分的弹出div中 .

注意:我已经尝试了一周使用,php,ajax / jquery,组合来解决这个问题 . 我已经搜索了谷歌和stackoverflow,似乎无法找到丢失的链接 .


下面是我的代码结构 .


第一:这是我最接近工作模型的 . php post_title和post_content将添加到适当位置的弹出窗口中 . 但是为下一个元素添加代码会覆盖第一个元素数据 .

HTML

<div class="hexagon">
  <p class="verticalcenter center" data-toggle="popWindow" data-target="#popUp">
    <!-- ATTACH LATEST POST TITLE -->
      <?php $the_query = new WP_Query( 'cat=4' ); ?>
      <?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>
        <?php the_title(); ?>
      <?php endwhile;?>
  </p> 
</div>

<div class="hexagon">
  <p class="verticalcenter center" data-toggle="popWindow" data-target="#popUp">
    <!-- ATTACH LATEST POST TITLE -->
      <?php $the_query = new WP_Query( 'cat=5' ); ?>
      <?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>
        <?php the_title(); ?>
      <?php endwhile;?>
   </p>
</div>

JS

注意:'overlay'是一个不透明的背景,涵盖主要内容,以帮助专注于'popUp'div .

$(document).ready(function() {
...//other code pertaining to website operation

//Click on Hexagons && Launch Modal
  $('.hexagon,.hexagonz,#mapToken,.mobileNav li').on('click', function() {
    $('.overlay').removeClass('hidden');
      $('#popUp')
        .addClass('animated fadeInUp')
        .css( {
            'bottom': '25%' 
        } )
  }); //end Modal Launch

...//other code pertaining to website operation

});// end $(document).ready

弹出窗口(Modal)html代码位于我的footer.php文件中,同时包含一个包含重复弹出窗口代码的single.php文件 .

理想:我想在不使用(a href ='')的情况下完成此任务 . 该网站有一个启动页面,在首次加载时加载到主页面前 . 当我尝试使用(a href ='')链接修复此问题时,它会触发启动页面(不是我想要的) .

希望结构和目标明确 .

1 回答

  • 0

    您应该首先创建一个PHP脚本,以便为每个弹出窗口发送正确的信息 .

    然后你可以点击 $.post 点击触发弹出窗口的按钮,用 'data-contents' 或类似的东西

    那么做这样的帖子:

    $(document).on('click', '.myPopupButton', function(e) {
        e.preventDefault();
        data = { content : $(this).attr('data-contents') };
        $.post('yourScript.php', data, function(json) {
            // Handle the data that comes from your script
            // i.e. :
            $('.myPopup .title').text(json['title']);
            $('.myPopup .body').text(json['body']);
        }
    });
    

    你的PHP应该期待像 content => xxx 这样的值

    所以你可以这样得到它:

    if ($_POST['content'] == 'xxx') {
    
    }
    else if ( /*etc..*/ ) {}
    

    现在弹出窗口的内容应该改变

相关问题