Load new entry(s) in the same page with ajax as a popup
First: you need to create a Plugin, I suggest you to use Pluginfactory.io to create your boilerplate and read the docs about plugin development 

You'll need an ajax Request that could look like

$('#a-button').click(function(){
    var data = {
        entryIds: [1,2,3,4], // &lt;- insert the id(s) of the entries you want to render
        action: 'pluginName/controllerName/renderTemplate', // &lt;-- route to your controller
        templatePath: 'path/to/template'
    };
    $.ajax({
        type: "post",
        url: '',
        data: data,
        success: function (response) {
            if(response.success === true){
                $('#a-container').html(response.html);
            }else{
                alert(response.message);
            }
        },
        error: function (XMLHttpRequest, textStatus) {
            console.log("Status: " + textStatus);
        }
    });    
});


Then you'll insert this function in your controller

/**
 * @throws \Craft\Exception
 */
public function actionRenderTemplate()
{
    $success = false;
    $message = Craft::t('Could not find template path');
    $html = '';

    // check for a template path
    if ($templatePath = craft()-&gt;request-&gt;getParam('templatePath')) {
        // check for entry ids
        if($entryIds = craft()-&gt;request-&gt;getParam('ids')){
            // fetch all entries with the ids
            $criteria = craft()-&gt;elements-&gt;getCriteria(ElementType::Entry);
            $criteria-&gt;id = $entryIds;
            $elements = $criteria-&gt;find();

            // render the template
            $html = craft()-&gt;templates-&gt;render($templatePath, ['elements' =&gt; $elements]);    
            $success = true;
        }else{
            $message = Craft::t('Could not find required entry id parameter');
        }
    }

    // return as json
    $this-&gt;returnJson(
        [
            'success' =&gt; $success,
            'message' =&gt; $message,
            'html'    =&gt; $html
        ]
    );
}