我受到这个帖子的启发:Refresh image with a new one at the same url
我尝试每隔5秒刷新一次WordPress标题背景图片。
背景图片在styles.css中设置: background-image:url(/some/path/rotator.php);
" Rotator.php"是PHP脚本,它选择一个随机图像,它的工作很好。路径没有变化。
我希望以下javascript会刷新它:
var newImage = new Image();
newImage.src = "/some/path/rotator.php";
function updateImage()
{
if(newImage.complete) {
document.getElementById("header").src = newImage.src;
newImage = new Image();
number++;
newImage.src = "/some/path/rotator.php?" + new Date().getTime();
}
setTimeout(updateImage, 5000);
}
该脚本由Functions.php中的以下PHP加载:
<?php
add_action('after_setup_theme', 'load_mbr_scripts');
function load_mbr_scripts() {
wp_register_script('updateImage', get_stylesheet_directory_uri().'/refreshheader.js', array('jquery'), '1.7', true );
wp_enqueue_script( 'updateImage', get_stylesheet_directory_uri().'/refreshheader.js', array( 'jquery' ) );
}
add_action('wp_enqueue_scripts', 'load_mbr_scripts');
?>
Firebug显示我的javascript正在加载。然而,它似乎并没有令人耳目一新。
我是否指定要正确刷新的标题元素?或者我做错了什么?
我对HTML和CSS有一定的了解,还有一点PHP,但我是一个完整的Javascript N00b,所以任何建议都将不胜感激!
答案 0 :(得分:0)
哪个元素有id头(在document.getElementById(&#34; header&#34;)。src)是图像吗?如果它是元素而不是它显然没有src属性...如果你实际上有一个图像而不是一个带有图像背景的元素它会工作