如何修复此javascript函数以修复错误消息

时间:2017-02-23 09:43:30

标签: javascript jquery

我正在尝试使用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>

4 个答案:

答案 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?>">

现在可行。