0

这是小提琴:http: //jsfiddle.net/webguy262/e5ana/18/

页面加载默认城镇场景。悬停地图针会改变场景。

如果鼠标停止十秒钟,则返回默认场景。

仅在默认场景被隐藏时才尝试这样做。这是因为如果默认场景是可见的,代码就会运行,它会为默认场景设置动画并再次备份。

这就是我正在尝试的...

if ($('#dt').css('bottom') == '0px') {
var t;
var del = 10000; //Ms delay 
    $(document).mousemove(function(){
    clearTimeout(t);
    t = setTimeout(function(){
        //If the mouse is not moved
        $(".town").animate({
            bottom: '0px'
        }, 500);
        $("#dt").animate({
            bottom: '126px'
        }, 500);
    }, del);
});
}

但它不起作用。不会引发脚本错误,场景也不会发生任何事情。

语法问题?没有正确检测到#dt 的位置?

4

1 回答 1

0

我在想这是因为当你调用 mousemove 时你已经在你的函数中并且通过了 if 语句。也许尝试这样的事情:

var t
,   del = 10000; //Ms delay 

$(document).mousemove(function(){
    if ($('#dt').css('bottom') === '0px') {
        clearTimeout(t);
        t = setTimeout(function(){
            //If the mouse is not moved
            $(".town").animate({
                bottom: '0px'
            }, 500);
            $("#dt").animate({
                bottom: '126px'
            }, 500);
        }, del);
    }
});
于 2013-06-30T15:00:50.340 回答