我对jquery很新,我的问题是我在一个继承自母版页的页面中完成了jquery函数。由于某种原因,该函数被完全忽略,好像什么都没有,并且页面加载时没有任何脚本。
我是否需要在后面的代码中加载页面?我正在展示这个功能;
<script type="text/javascript">
var index = 0;
var images = [
'child.jpg',
'girl.gif',
'sponsor.jpg'
];
$('#Image1').attr('src', 'Resources/ChildrenImages/' + images[0]);
setInterval(change_image, 5000);
function change_image() {
index++;
if (index >= images.length)
index = 0;
$('#Image1').attr('src', 'Resources/ChildrenImages/' + images[index]);
}
</script>
答案 0 :(得分:3)
要做的第一件事是在 DOM ready 事件之后运行你的jQuery代码,这样
<script type="text/javascript">
var index = 0;
var images = [
'child.jpg',
'girl.gif',
'sponsor.jpg'
];
$(function(){ // added this line
$('#Image1').attr('src', 'Resources/ChildrenImages/' + images[0]);
setInterval(change_image, 5000);
function change_image() {
index++;
if (index >= images.length) index = 0;
$('#Image1').attr('src', 'Resources/ChildrenImages/' + images[index]);
}
}); // and this one
</script>
第二件事是确保页面中包含jQuery库(在上面的代码之前)
答案 1 :(得分:1)
在DOM加载完成之前,脚本可能正在执行。尝试使用文档准备好围绕代码:
<script type="text/javascript">
$(document).ready(function() {
/* your code as you posted */
});
</script>
请参阅文档以获取对此的解释:http://api.jquery.com/ready/
答案 2 :(得分:0)
在DOM准备好后尝试执行脚本:
<script type="text/javascript">
$(document).ready(function () {
var index = 0;
var images = ['child.jpg', 'girl.gif', 'sponsor.jpg'];
$('#Image1').attr('src', 'Resources/ChildrenImages/' + images[0]);
setInterval(change_image, 5000);
function change_image() {
index++;
if (index >= images.length) index = 0;
$('#Image1').attr('src', 'Resources/ChildrenImages/' + images[index]);
}
});
</script>