Javascript PHP生成的JS照片滑块?
我想知道是否有人能帮忙。我看不出它为什么不起作用。我对JS并不感到惊讶,但逻辑在我的脑海里。我只是在拉取指定文件夹的图像内容(或者在URL中没有指定默认文件夹)并在img中顺序显示它们之后Javascript PHP生成的JS照片滑块?,javascript,php,Javascript,Php,我想知道是否有人能帮忙。我看不出它为什么不起作用。我对JS并不感到惊讶,但逻辑在我的脑海里。我只是在拉取指定文件夹的图像内容(或者在URL中没有指定默认文件夹)并在img中顺序显示它们之后 <img src="./img/samples/sample1.jpg" class="gallery_image" name="slideshow_image"> <?php if($_GET["med"]) { $files = glob('./img/samples/'
<img src="./img/samples/sample1.jpg" class="gallery_image" name="slideshow_image">
<?php
if($_GET["med"])
{
$files = glob('./img/samples/' . $_GET["med"] . '/*.{jpg}', GLOB_BRACE);
}
else
{
$files = glob('./img/samples/*.{jpg}', GLOB_BRACE);
}
echo '<script type="text/javascript">';
$n = 1;
foreach($files as $file)
{
echo 'var image' . $n . ' = new Image();'
, 'image' . $n . '.src = "' . $file . '";';
$n++;
}
echo 'var step = 1;'
, 'function slideit()'
, '{'
, ' document.images.slideshow_image.src = eval("image"+step+".src");'
, ' if(step < ' . $n . ')'
, ' step++;'
, ' else'
, ' step = 1;'
, ' setTimeout("slideit()",2500);'
, '}'
, 'slideit();';
?>
任何帮助都将不胜感激。您正在以最糟糕的方式混合使用HTML、PHP和JavaScript 当然,你可以做到这一点,但这将花费你大量的努力,试图让它进化将是一个残酷的痛苦 您应该为每3种语言定义一个清晰的接口,而不是在与HTML代码交织的PHP脚本中生成一半JavaScript代码 PHP必须做的是找到要显示的图像列表。
JavaScript的工作是制作幻灯片动画。
HTML用于显示图像 以下是一个可能的解决方案:
<?php
// returns a javascript array initializer
function slideshow_files ($dir)
{
$dir = $dir ? "/".$dir : "";
$files = glob('./img/samples' . $dir . '/*.{jpg}', GLOB_BRACE);
return "[".implode (',', $files)."]";
}
?>
<head>
<script>
// an anonymous function to avoid polluting global context
(function () {
// get your image list from PHP
var imgs = <?= slideshow_files ($_GET["med"]); ?>;
// preload images
var image = [];
for (var i = 0 ; i != slide_image.length ; i++)
{
image[i] = new Image;
image[i].src = img[i];
}
// launch your slideshow
var step = 0;
slide();
// slideshow timer proc
function slide()
{
document.images.slideshow_image.src = image[step].src;
step = (step+1) % image.length;
setTimeout(slide, 2500);
}
})();
</script>
</head>
<body>
<img src="./img/samples/sample1.jpg" class="gallery_image" name="slideshow_image">
</body>
//避免污染全局上下文的匿名函数
(功能(){
//从PHP获取图像列表
var-imgs=;
//预加载图像
var图像=[];
对于(变量i=0;i!=slide\u image.length;i++)
{
图像[i]=新图像;
image[i].src=img[i];
}
//启动幻灯片放映
var阶跃=0;
幻灯片();
//幻灯片放映计时器程序
函数幻灯片()
{
document.images.slideshow_image.src=image[step].src;
步长=(步长+1)%image.length;
设置超时(幻灯片,2500);
}
})();
不用说,如果您一直将所有代码转储到一个大的HTML文件中,您将无法编写任何中等复杂的代码。这是PHP或Javascript的问题吗?查看呈现的HTML…它的真实代码会很有用吗?我不相信。。。。