Skip to content

Instantly share code, notes, and snippets.

@YNSTakeru
Last active April 6, 2024 09:10
Show Gist options
  • Save YNSTakeru/0c27267de2fe9f848bf6f434620e3376 to your computer and use it in GitHub Desktop.
Save YNSTakeru/0c27267de2fe9f848bf6f434620e3376 to your computer and use it in GitHub Desktop.
ポップアップを実装するPHPコード
 <?php

<script>
    const $button = document.querySelector('.btn')
    const $cover = document.querySelector('.cover')
    const $popup = document.querySelector('.popup')
    const $close = document.querySelector('.close__btn')

    const $doms = [$popup, $cover, $close]


    $button.addEventListener('click', () => {
        $doms.forEach(dom => {
            dom.classList.toggle('popup__open')
        })
        // dataの取得
        const parentTaskId = $button.dataset.parent_task_id

        const parentTaskName = document.querySelector('.parent__task')
        <?php
            $parentTaskId = '<script>document.write(parentTaskId)</script>';

            $parent_tasks = array_values(array_filter($parent_tasks, function($parent_task) {
                return $parent_task->id === 1;
            }));
         ?>
        parentTaskName.textContent = JSON.parse('<?php echo json_encode($parent_tasks[0]->title);?>')
    })

    $doms.forEach(dom => {
        if(dom === $popup) return
        dom.addEventListener('click', () => {
            $doms.forEach(dom => {
                dom.classList.remove('popup__open')
            })
        })
    })
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment