php - Javascript 的行为与 PHP 包含文件不一致

标签 php javascript

我有一个非常简单的 JavaScript 动画,如下所示

$(function() {
$('#slider1').cycle();
$('#slider2').cycle();
});

然后我在我的脑海中调用这个脚本:

<script type="text/javascript" src="js/slider.js"></script>

然后 ID 为“slider1”和“slider2”的 div 包含在 php 中,包含被调用到页面中的文件,如下所示:

<?php include('assets/col1.php'); ?>

包含文件中的代码如下所示:

<div id="slider1">
<img src="images/image1.png" />
<img src="images/imgae2.png" />
<img src="images/image3.png" />
<img src="images/image4.png" />
</div>

除非您使用 IE8 或 IE9,否则效果很好。 javascript 大约 75% 的时间都能工作,这就是为什么这让我感到困惑。当您加载页面或返回页面时,每隔一段时间它就不会激活 JavaScript,并且所有图像都会呈现在一长列中(本质上就是没有 js 功能的情况)

我怀疑它是按照 IE9 加载 PHP 和 javascript 的顺序排列的,但我只是 js 和 php 方面的新手,所以一些关于如何解决这个问题的非常明确的帮助将非常好。提前致谢。

最佳答案

说来话长……

PHP 将返回解释后的 HTML。每次包含文件时,PHP 都会刷新缓冲区,这意味着某些内容会先于其他内容返回到浏览器。发生这种情况时,页面仍处于加载状态。

因此,您需要确保调用 $(document).ready(function(e){ ... });。这将使您的代码有机会在执行 javascript 之前完成刷新缓冲区并加载到浏览器中。

关于php - Javascript 的行为与 PHP 包含文件不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12224520/

相关文章:

javascript - PHP 上的 Jquery 从不同的文件创建 HTML 内容

javascript - 如何使用 Smarty 将带有换行符的文本转换为 JavaScript 换行符

javascript - 从顶部偏移到固定导航栏下的悬垂 js 通知

javascript - Angular 5将数据传递给子路由

javascript - 如何将变量从一个脚本传递到另一个脚本

php - CodeIgniter get_where()与NOT IN

Javascript 不会更新用 PHP 编写的变量

php - Laravel session 查询唯一用户

php - 应用程序中的错误处理函数

java - 判断当前Javascript实现是否是Rhino