2017-02-23 55 views
0

我試圖使用darkbox,並遇到了一個我不明白的錯誤。 我在頁面加載或刷新時顯示隨機圖像。那部分工作正常,出現不同的圖像。然而,Safari上的錯誤控制檯報告「無法找到變量:$,並且當我單擊圖像時沒有任何反應。」 有問題的行在末尾的腳本中,$(document).ready(function()我該如何修復這個javascript函數來修復錯誤信息

這是我的代碼。我不是很擅長的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> 
+1

你注入了jQuery lib嗎? –

+1

你的jQuery代碼似乎是obsolet。您可以通過PHP獲得隨機文件。所以你可以完全刪除'script'部分。 – Sebastian

回答

0

$不是一個javascript變量。$是所以在你的腳本之前添加jquery

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> 
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` 
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?>"> 

,現在它的工作原理。