JSFiddle - React, Tailwind, and code Playground

by adjit

HTML

<a class="viewPDF" data-frame=".pdfFrame"><img src="https://www.metsales.com:443/MetropolitanSales//images//viewpdf.gif"/></a>

<div id="frameContainer" style="display: none;"> <a id="frameClose"><img height="30" src="https://www.metsales.com/MetropolitanSales/microsite/posiflex/images/close_button.png" width="30"/></a>  <span id="altFrameView">Having problems viewing this window? Click <a href="" id="altFrameLink" target="_blank">Here</a></span>
</div>
<iframe class="pdfFrame frame" data-link="https://www.metsales.com/MetropolitanSales/microsite/posiflex/pdfs/KS6715.pdf" src="" style="display: none;" scrolling="no">Sorry iFrame is not supported by your browser.</iframe>

CSS

#loading {
    background:url(https://www.metsales.com/MetropolitanSales/microsite/images/loading.gif) no-repeat center center;
    height: 100px;
    width: 100px;
    position: fixed;
    z-index: 2000;
    left: 50%;
    top: 50%;
    margin: -25px 0 0 -25px;
    display: none;
}

#frameClose {
	position: relative;
	float: left;
}

#altFrameView {
	color: white;
	position: relative;
	display: block;
	float: left;
	z-index: 2000;
}

#frameContainer {
	/*display: table !important;*/
    position: fixed;
    background: rgba(64,64,64,.64);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
	cursor: pointer;
}

.frame {
	position: fixed;
	display: block;
	z-index: 900;
    height: 95%;
    width: 60%;
	top: 50%;
	left: 50%;
	margin-left: 0px;
	margin-top: 0px;
	overflow-y: hidden;
	background: rgba(64,64,64,1) !important;
}

JavaScript

$('.viewDrivers, .viewPDF').click(function(){
	var frame = $(this).attr("data-frame");
	var link = $(frame).attr("data-link");
	var wHeight = $(window).height()*.95;
	var wWidth = $(window).width()*.6;
	
	$('#altFrameLink').attr("href", link);
	
	$(frame).css({'margin-top' : wHeight/-2});
	$(frame).css({'margin-left' : wWidth/-2});
	
	$('#loading').show();
	$('#frameContainer').show();
	
	if(!$(frame).attr("src")){
		$(frame).attr("src", link);
		if($.browser.msie){
			$(frame).show(1500, function () {
				$('#loading').hide();
			});
		} else {
			$(frame).show(1500);
			$(frame).load(function () {
				$('#loading').hide();
			});
		}
	} else {
		$(frame).show(1500, function() {
			$('#loading').hide();
		});
	}
});

$('#frameContainer, #frameClose').click(function(){
	$('#frameContainer').hide();
	$('.frame').hide();
});