我一直在为我的合作伙伴写一个网站,我试图使用jquery创建一个图像轮带来改变背景样式属性,但它还没有工作到目前为止,我得到的是我在css中设置的库存图像作为占位符,请快速查看,看看我在哪里走错了
我运行了一些php程序来计算文件夹中的照片数量
<?php
$dir="images/ticker-images"
$file_count = count(glob("{$dir}/*.*"))
?>
那么jquery就是这个
$(document).ready(function(){
var x;
var y = <?php echo $file_count>;
var dir = <? php echo $dir>;
while true do {
x = math.floor(math.random()*y);
$("image-ticker").css({'background': 'url("' + dir + '/' + x + '.jpg"'});
sleep(5);
};
};
如果我犯了一个新手错误,请友好,否则,请提前感谢。
-
Sleep是一个PHP方法,不是JS方法。
-
你的do循环结构不正确。
while
条件应该出现在do块之后,而不是前面,如do { // code } while (condition);
-
您的
dir
变量可能是一个字符串,因此您需要用引号分隔它。 -
dir
的php块应该从<?php
开始,而不是<? php
-
你的
dir
和file_count
php块在你的js代码中缺少一个结束标签。 -
您的
document.ready
后缺少右括号 你的php代码不以分号
结束javascript的
Math
对象是大写的您的
image-ticker
选择器可能是id选择器,需要以散列(#
)为前缀
试试这个:
<?php
$dir="images/ticker-images";
$file_count = count(glob("{$dir}/*.*"));
?>
那么jquery就是这个
$(document).ready(function(){
var x;
var y = <?php echo $file_count ?>;
var dir = "<?php echo $dir; ?>";
var int=setInterval(function () {
x = Math.floor(Math.random()*y);
$("#image-ticker").css({'background': 'url("' + dir + '/' + x + '.jpg"'});
},5000);
});
您的php在jquery部分缺少关闭标记。它需要关闭?>
标记。
你的while循环需要有它的条件在括号-> while( run )
.
注意,我使用run
,你需要一个条件时,使用循环,可以使其为假。否则你就会有一个无限循环,导致浏览器或电脑崩溃。编辑
此外,javascript使用do {} while();
格式,其中循环放在花括号中,
和条件放在括号中。