我正在尝试在我的外部 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/