2013-04-24 80 views
0

我在我的项目中使用了背景图库插件(http://buildinternet.com/project/supersized/),但是当我将它附加到我的wordpress网站时,发现了一个我无法处理的问题。画廊通过JavaScript调用图像。功能是这样的:Javascript函数调用php foreach。可能吗?

<script type="text/javascript"> 
    jQuery(function($){ 
     $.supersized({ 
      slides : [ 
        {image : 'http://buildinternet.s3.amazonaws.com/projects/supersized/3.2/slides/kazvan-1.jpg'}, 
        {image : 'http://buildinternet.s3.amazonaws.com/projects/supersized/3.2/slides/kazvan-2.jpg'}, 
        {image : 'http://buildinternet.s3.amazonaws.com/projects/supersized/3.2/slides/kazvan-3.jpg'} 
       ] 
     }); 
    }); 
</script> 

问题是,我需要显示的图像取自wordpress数据库。在一个JavaScript内,我不知道它是如何工作的。有没有任何方法使PHP的电话?我没有插件库插件调用图像的PHP foreach请求是这样的:

<?php foreach ($images as $image) : ?> 
    <img src="<?php echo $image->thumbnailURL ?>" /> 

    <?php if ($image->hidden) continue; ?> 
    <?php if ($gallery->columns > 0 && ++$i % $gallery->columns == 0) { ?> 

    <?php } ?> 
<?php endforeach; ?> 

感谢您的任何帮助。

回答

1

你可以把这个PHP代码回声这个JavaScript

<script type="text/javascript"> 
    jQuery(function($){ 
    $.supersized({ 
     slides : [ 

       <?php $out=array(); 
        foreach ($images as $image){ 
         if ($image->hidden) continue; 
         $out[]="{image :'".$image->thumbnailURL."'}"; 

        } 
        echo implode(",",$out);?> 
      ] 
    }); 
    }); 
    </script> 

,或者您可以使用JSON这是因为幻灯片输入是JSON看到这个页面,这个How to make a JSON call to a url?

+0

谢谢,穆罕默德。在你的代码中只有一个“丢失”,就在“{image: – akplebani 2013-04-24 18:34:42

1

所有你的网页正在做的是准备一个最终答案发送到客户端浏览器阅读。为了准备这个答案,你可以使用服务器端代码和客户端代码,不管它们如何混合在一起。如果你需要脚本定义中的数据库元素,你可以这样做:

<script type="text/javascript"> 
// client-side 
<?php 
// server-side 
?> 
// client-side 
</script>