<?php
// This Demo uses pure JavaScript and my PHP SlideShow class.
require_once('SlideShow.class.php');
// You can change $mode to 'loc' and $url to './images' or any local path.
$mode = 'url'; // mode can be 'loc' or 'url'
$url = "https://bartonlp.org/photos"; // If $mode is 'url'. If $mode is 'loc' then you can use './images'
$ss = new SlideShow($mode, $url, false); // Instantiate the class
$names = $ss->getImageNames(); // Get the image info.
echo <<<EOF
<!DOCTYPE html>
<html lang="en">
<head>
<title>Photo Slide Show Demo</title>
<style>
#footer {
border: 1px solid back;
background-color: green;
color: white;
margin: 10px;
width: auto;
}
#errors {
border: 1px solid red;
margin-left: 0;
width: 500px;
margin-right: auto;
margin-top: 40px;
margin-bottom: 40px;
height: auto;
text-aligh: center;
display: none;
overflow: auto;
}
</style>
</head>
<body>
<div id="slideshow" style="border: 4px solid black"></div>
<script>
var names = "$names".split(',');
let mode = '$mode';
function next(i) {
console.log(i, names[i]);
let ss = document.querySelector("#slideshow");
if(mode == 'loc') {
ss.innerHTML = "<img src='SlideShow.class.php?mode=proxy&path="+names[i]+"'>";
} else {
let img = document.createElement('img');
let m;
if(m = document.querySelector("#slideshow img")) {
m.remove();
}
ss.appendChild(img);
img.onload = () => {
let nath = img.naturalHeight;
let natw = img.naturalWidth;
console.log("natw: " + natw + ", nath: " + nath);
img.style.width = '400px';
img.style.display = 'block';
ss.style.width = '400px';
let h = nath / natw * 400;
console.log("h=" +h);
ss.style.height = h + "px";
};
img.style.display = 'none';
img.src = names[i];
}
if(++i >= names.length) {
i = 0;
}
setTimeout(function() {
next(i);
}, 5000);
}
next(0);
</script>
</body>
</html>
EOF;
|