2015-01-29 4 views
1

Я получаю сообщение об ошибке синтаксиса сообщения об ошибке; перед выражением "var galleryarray = new Array();" , "\ П"; Вот код PHPphp javascript autopopulated gallery gallery

function returnimages($dirname=".") { 
    $pattern="\.(jpg|jpeg|png|gif|bmp)$"; 
    $files = array();$curimage=0; 
    if($handle = opendir($dirname)) { 
     while(false !== ($file = readdir($handle))){ 
      if(eregi($pattern, $file)){ 
       echo 'galleryarray[' . $curimage .']=["' . $file . '"];' . "\n"; 
       $curimage++; 
      } 
     } 
    closedir($handle); 
    } 
    return($files); 
} 
echo "var galleryarray=new Array();" . "\n"; 
returnimages(); 

и здесь является JavaScript:

var galleryarray=new Array(); 
var curimg=0 
function rotateimages(){ 
    document.getElementById("slideshow").setAttribute("src", "slideshow_images/"+galleryarray[curimg]) 
    curimg=(curimg<galleryarray.length-1)? curimg+1 : 0 
} 
window.onload=function(){ 
    setInterval("rotateimages()", 2500) 
} 

я просто не вижу свою ошибку любой помощи с этой проблемой будет оценен

Клейн

+0

вар curimg = 0 пропустите semicolumn в конце –

ответ

1

Заменить приведенную ниже строку:

echo "var galleryarray=new Array();" . "\n"; 

с помощью следующей строки:

echo "<script>var galleryarray=new Array();</script>"; 

Вы добавляете код JS без сценария теге поэтому вам нужно добавить этот тег.

EDITED:

echo 'galleryarray[' . $curimage .']=["' . $file . '"];' . "\n"; 

У вас также есть ошибка в строке выше заменить его на строку ниже:

echo '<script>galleryarray["' . $curimage .'"]=["' . $file . '"];</script>'; 
+0

спасибо за любовник кода справки, но теперь я получаю ошибку синтаксиса ошибки msg; ожидаемый оператор получил < –

+0

@kleinmorgan заменит двойную квоту «с одной квотой», а затем попробуйте. надеюсь, что это сработает –

+0

Я попытался заменить двойные кавычки одиночными играми, но теперь я получаю –