2013-04-15 155 views
7

彈跳交換已經找到了一種幾乎完美的方式來檢測用戶是否會離開網站。他們基於跟蹤鼠標手勢,鼠標速度以及瀏覽器平面的斷開來完成此操作。如果他們發現某人正在離開,他們會在燈箱上點燃一個彈出窗口。檢測用戶是否會離開網站,如彈跳交換

我可以模仿不好這一點,通過下面的:

$("body").mouseleave(function() { 
    jQuery('#avoid-bounce').show(); 
}); 

唯一的問題是,這是相當惱人。即使它抓住了某人,他們離開身體的那一刻也會再次燃起。

將鼠標速度和事件觸發一次的可能性有多大?我對JavaScript和jQuery仍然相當陌生,但我正在學習。

+0

剛剛添加bounceexchange.com我Adblock的名單;) –

回答

3

您可以將標誌添加到您的代碼:

$("body").mouseleave(function() { 
    if (jQuery('#avoid-bounce').data('shown') != true) { 
     jQuery('#avoid-bounce').data('shown', true).show(); 
    } 
}); 

創建一個標誌,將確保show()代碼不會被稱爲第二次。

+0

弗拉德,你能請在小提琴上舉個例子對我和更多的人尋找這樣的東西真的很有幫助。 – Vicky

9

這正是.one()是:

$("body").one('mouseleave', function() { 
    jQuery('#avoid-bounce').show(); 
}); 
2

或者你可以嘗試OuiBounce,反彈交換替代:https://github.com/carlsednaoui/bounce-exchange-alternative

+0

謝謝!!!!!!!!!!!!!!我一直在Google上搜索,找到一個免費的替代品。我應該給你100個upvotes。 – Tallboy

+0

ouiBounce是一個很好的替代方案,但不幸的是效果不佳。如果頂部有小東西,它會觸發彈出窗口。它應該考慮到鼠標的速度。 –

相關問題