所以我只是想知道我是否可以这样做:
基本网站,没有任何内容,但有4张不同的照片,它们具有不同的优先级,表示实际显示图像的时间跨度(lvl1 = 1min,lvl2 = 3min,lvl3 = 10min ......等等) 我怎么能用HTML和PHP做这个...我不确定答案是否真的基本但我似乎无法理解它。 html代码是否与php代码并行运行,或者php中的无限循环是否会停止整个html代码?
我正在考虑创建一个无限的while循环,但我担心它最终会以某种方式使网站崩溃?
我想我不明白html代码的运行方式..
感谢任何帮助过的人。
答案 0 :(得分:2)
正如OP提到的那样。你必须使用JavaScript。 PHP用于服务器端处理,一旦将最终输出发送到Web浏览器,您必须再次从Web服务器请求。您可以轻松地将AJAX用于您的目的。
答案 1 :(得分:0)
在WWW的背景下(并简化一点):
您可以查看the current time并使用它来确定要发送到浏览器的<img>
标记。
您无法使用服务器端代码更改已在浏览器中显示的图像。代码已经运行了。除非浏览器发出新的HTTP请求,否则新代码将无法运行。
如果要更改浏览器中显示的图像,则需要客户端代码。出于所有实际目的,这意味着JavaScript。
您可以使用the timer functions在时间过后运行代码并DOM更改页面上已有的HTML元素。
答案 2 :(得分:0)
从您的问题中了解这可能是您需要的内容
<img data-priority="1" src...
如果要显示一个图像,只需将它们全部隐藏起来,然后根据服务器端或客户端的规则显示所需的图像。 PHP将帮助您缩小服务器上的规则并仅向客户端发送所需数据,但是您可以使用简单的html来隐藏和显示它是否非关键,并且您将避免多次调用服务器来获取图像。
如果这是您正在寻找的场景,那么请在jsfiddle或带有示例图像的代码中尝试。您可以从http://lorempixel.com/获取4个样本图像,并使用javascript进行播放。
答案 3 :(得分:-1)
为了您的目的,您可以使用 AJAX ,它会在给定的时间间隔内更新您的代码。 如果您想在计时器上设置内容,可以使用JavaScript的 setTimeout 或 setInterval 方法:
setTimeout ( expression, timeout );
setInterval ( expression, interval );
这里表达式是正常函数,超时和间隔是以毫秒为单位的整数。 setTimeout运行一次计时器并运行一次表达式,而setInterval将在每次间隔通过时运行表达式。
所以在你的情况下它会像这样工作:
setInterval(function() {
//call $.ajax here
}, 5000); //5 seconds
就Ajax而言,请参阅jQuery的ajax()方法。如果你运行一个间隔,没有什么能阻止你从代码中的其他地方调用相同的ajax()。
请再说一遍,请告诉我。