javascript - 如何在外部 Javascript 中使用 PHP 变量

标签 javascript php jquery html arrays

我正在尝试在我的外部 javaScript 中使用在 PHP 中创建的数组。我有 PHP 代码根据通过 url 给出的用户 ID 将目录中的图像放入一个数组,我希望能够在 javaScript 中使用这个数组,以便我可以创建照片幻灯片并根据用户 ID 更改图像.我认为这是可以实现的,因为我已经在网上进行了研究,但不知何故它对我不起作用。我不确定我做错了什么。

在我的 html 的头部,我有这段代码要添加到我的外部 javaScript 中并在 Javascript 中声明变量/数组。不确定它是否正确,我从其中一种解决方案中得到它:

<script src="js/jquery-1.10.2.min.js"></script>
    <script type="text/javascript">var userphoto = "<?= $galleryarray ?>";</script>
    <script type="text/javascript">var userid = "<?= $user_id ?>";</script>
    <script src="javascript.js"></script>

这是我的基本 HTML 中的 PHP 代码:

这是我的外部 JavaScript 代码:

$(文档).ready(函数(){

var photodisplay = 
[
$("#photo1"),
$("#photo2"),
$("#photo3"),
$("#photo4"),
$("#photo5"),
];

var userid = "<?php echo json_encode($user_id); ?>";  // getting php variable 
var userphoto = "<?php echo json_encode(galleryarray); ?>";


// List of images for user one
/*var userphoto = new Array();
userphoto[0] = "Photos/1/1.jpg";
    userphoto[1] = "Photos/1/2.jpg";
        userphoto[2] = "Photos/1/1.jpg";
            userphoto[3] = "Photos/1/1.jpg";
                userphoto[4] = "Photos/1/1.jpg";*/

//preloading photos
function preloadingPhotos() {
for (var x=0; x<5; x++)
{
    photodisplay[x].attr("src", "Photos/" + userid + "/" + userphoto[x]);
    photodisplay[x].hide();
    console.log("preloaded photos");

}
displayPhoto();
}

function displayPhoto(){

    photodisplay[0].fadeIn(3000);
    photodisplay[0].delay(3000).fadeOut(3000, function() { //first callback func
    photodisplay[1].fadeIn(3000);
    photodisplay[1].delay(3000).fadeOut(3000, function() { //second callback func
    photodisplay[2].fadeIn(3000);
    photodisplay[2].delay(3000).fadeOut(3000, function() { //third callback func
    photodisplay[3].fadeIn(3000);
    photodisplay[3].delay(3000).fadeOut(3000, function() { // fourth callback func
    photodisplay[4].fadeIn(3000);
    photodisplay[4].delay(3000).fadeOut(3000, function() {
    setTimeout(displayPhoto(), 3000);
    });
    }); 
    });
    }); 
    });

}// end of function displayPhoto


window.onload = preloadingPhotos;
}); //end ready

PHP:

最佳答案

让您的 PHP 在 <script> 中定义变量像这样标记...

<script>
    var userid = "<?php echo json_encode($user_id); ?>";
    var userphoto = "<?php echo json_encode(galleryarray); ?>";
</script>

您的后续外部 javascript 文件将能够使用 userid 和 userphoto 变量,即使它们没有直接在外部文件中定义

关于javascript - 如何在外部 Javascript 中使用 PHP 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21224289/

相关文章:

javascript - 无法单击按钮来切换类

javascript - 删除谷歌地点类型之间的逗号

php - Symfony 4 守卫不验证用户

javascript - Flexslider 导航按钮在悬停时不可见,带有橙色框

javascript - 延迟重复执行 Javascript 函数

javascript - 如何在浏览器控制台中使用单行代码多次执行javascript命令?

command-line - ffmpeg 图像到具有不同开始时间和持续时间的视频

PHP + CSS + Lettering.js 创建曲线文字

jquery - 如何在每个 UL 中仅选择第 4 个及更高的 LI?

javascript - 如何在 jQuery 中更改选择时传递 php 数组?