我正在尝试使用darkbox并遇到了一个我不明白的错误。 我在页面加载或刷新时显示随机图像。那部分工作正常,会出现不同的图像。但是Safari上的错误控制台报告"找不到变量:$,单击图像时没有任何反应。 有问题的行在接近结尾的脚本中,$(document).ready(function()
这是我的代码。我不是很擅长javascript,所以如果答案对其他人来说显而易见,我并不感到惊讶。对于格式错误的代码感到抱歉。
<?php
$imageList = array();
foreach(glob('randomimages/*.*') as $file) {
$imageList[] = $file;
}
$image = $imageList[array_rand($imageList)];
?>
<img src="<?php echo $image?>" id="darkboximg" data-darkbox="randomimages/<?php echo $image?>">
<div id="darkboximg" style="width:100%"></div>
<script>
$(document).ready(function(){
$("#darkboximg").load("$image");
});
</script>
</div>
答案 0 :(得分:0)
$不是javascript变量。 $是Jquery的别名。所以在脚本之前添加jquery。
答案 1 :(得分:0)
确保添加JQuery。
$("#darkboximg").load("$image");
应为$("#darkboximg").load( <?php echo '"' . $image . '"' ?>);
尝试以下方法:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
<?php
$imageList = array();
foreach(glob('randomimages/*.*') as $file) {
$imageList[] = $file;
}
$image = $imageList[array_rand($imageList)];
?>
<img src="<?php echo $image?>" id="darkboximg" data-darkbox="randomimages/<?php echo $image?>">
<div id="darkboximg" style="width:100%"></div>
<script>
$(document).ready(function(){
$("#darkboximg").load( <?php echo '"' . $image . '"' ?>);
});
</script>
</body>
</html>
答案 2 :(得分:0)
<?php
$imageList = array();
foreach(glob('randomimages/*.*') as $file) {
$imageList[] = $file;
}
$image = $imageList[array_rand($imageList)];
?>
<script>
var image = <?php $imageList[array_rand($imageList)] ?>;
</script>
<img src="<?php echo $image?>" id="darkboximg" data-darkbox="randomimages/<?php echo $image?>">
<div id="darkboximg" style="width:100%"></div>
<script>
$(document).ready(function(){
$("#darkboximg").load(image);
});
</script>
</div>`enter code here`
答案 3 :(得分:0)
感谢那些提供答案的人。 问题在于
<img src="<?php echo $image?>" id="darkboximg" data-darkbox="randomimages/<?php echo $image?>">
将其更改为
<img src="<?php echo $image?>" id="darkboximg" data-darkbox="<?php echo $image?>">
现在可行。