我尝试使用以下代码每5秒在两个徽标之间切换:
window.setInterval(
function () {
//breakpoint 1
$("#logo").toggle(
function() {
//breakpoint 2
$(this).attr('src', '/Images/logo1.png');
},
function() {
//breakpoint 3
$(this).attr('src', '/Images/logo2.png');
}
);
},
5000
);
我可以进行简单的切换工作,但是当我在window.setInterval()中引入切换时,切换的两个处理程序将不会触发。
我在上面代码中注释的正下方的行上设置了断点。断点1每5秒击中一次。但是,Breakpoint 2和3从未命中过。
为什么切换功能的处理程序都没有触发?
答案 0 :(得分:6)
toggle()
需要click
....
所以,
$("#logo").toggle(
function() {
//breakpoint 2
$(this).attr('src', '/Images/logo1.png');
},
function() {
//breakpoint 3
$(this).attr('src', '/Images/logo2.png');
}
);
window.setInterval(
function () {
$("#logo").trigger('click');
},
5000
);
答案 1 :(得分:0)
听起来jQuery没有找到#logo元素。
HTML标记如何?
您可以尝试这样来查看jQuery是否找到了#logo元素:
//Firebug way
console.log($('#logo').length)
//alert way
alert($('#logo').length)
..弗雷德里克