我有一个旋转幻灯片放映的功能,如startChangeImage(),当幻灯片显示鼠标悬停时,我的幻灯片必须停止。
我试试这样的事情dojo.connect(this.domNode,'onmouseover',this,this.stopChangeImage); this.start = dojo.connect(this.domNode,'onmouseout',this,this.startChangeImage); ..... stopChangeImage:function () { dojo.disconnect(this.start); } ........
事情是它只在鼠标移出后开始旋转我希望它一直工作,除了鼠标悬停。
答案 0 :(得分:2)
这种情况正在发生,因为您要将onmouseout
事件与startChangeImage()
相关联。如果您希望在页面加载时启动此幻灯片放映,则可以使用init()
(或类似)函数在页面加载时调用以启动幻灯片放缓。
将this.
与上下文(see here)一起使用时,您也不需要dojo.connect()
。请参阅下面的代码示例中的连接函数。
var pageClass = {
stopChangeImage: function() { },
startChangeImage: function() { },
init: function() {
this.startChangeImage();
dojo.connect(this.domNode, 'onmouseover', this, 'stopChangeImage');
this.start = dojo.connect(this.domNode, 'onmouseout', this, 'startChangeImage');
}
};
dojo.addOnLoad(function() {
pageClass.init();
});
上面的代码会在页面加载时开始你的幻灯片放慢,但是它会根据鼠标悬停和鼠标移动来停止和启动。