我想使用Click和Hold事件效果創建一個頁面,如http://andeinerseite.video/或http://2016.makemepulse.com/,我對使用框架創建這些效果感興趣。使用Javascript的Click and Hold事件監聽器
-1
A
回答
1
您可以使用Javascript的setTimeout
函數並將其綁定到mousedown
事件。看看下面的代碼片段:
// click and hold event listener
var timeout_id = 0,
hold_time = 1000,
hold_menu = $('.hold_menu'),
hold_trigger = $('.hold_trigger');
hold_menu.hide();
hold_trigger.mousedown(function() {
timeout_id = setTimeout(menu_toggle, hold_time);
}).bind('mouseup mouseleave', function() {
clearTimeout(timeout_id);
});
function menu_toggle() {
hold_menu.toggle();
}
ul.hold_menu {
list-style: none;
padding: 0;
margin: 0;
}
ul.hold_menu a, div.hold_trigger {
display: inline-block;
padding: 5px 15px;
border: 1px solid #ccc;
width: 300px;
}
ul.hold_menu a:link, ul.hold_menu a:visited {
color: black;
text-decoration: none;
}
ul.hold_menu a:active, ul.hold_menu a:hover {
background: #ff0;
text-decoration: none;
}
div.hold_trigger {
color: black;
cursor: pointer;
}
div.hold_trigger:hover {
background: #ccc;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="hold_trigger">Click and hold to toggle the menu</div>
<ul class="hold_menu">
<li><a href="#">Option 1</a></li>
<li><a href="#">Option 2</a></li>
<li><a href="#">Option 3</a></li>
</ul>
希望這有助於!
1
隨着普通的JavaScript你可以做這樣的事情:
selector.addEventListener('mousedown', function(event) {
// simulating hold event
setTimeout(function() {
// You are now in a `hold` state, you can do whatever you like!
}, 500);
}
任何時間跨度適合您的需求,您可以調整500ms
值。
相關問題
- 1. 使用javascript監聽事件
- 2. Javascript事件監聽器
- 3. 查看事件監聽器 - 使用Javascript
- 4. Javascript事件監聽器?
- 5. javascript DOMContentLoaded事件監聽器
- 6. javascript事件監聽器
- 7. Javascript事件監聽器
- 8. 觸發事件監聽器
- 9. 使用Javascript監聽我的Flash事件
- 10. Click RecyclelerView中的監聽器
- 11. 事件監聽器?
- 12. 瀏覽器FullScreen事件監聽器 - Javascript?
- 13. 的JavaScript事件監聽PARAM
- 14. 添加事件監聽器
- 15. 回到事件監聽器? (Code.org - Javascript)
- 16. 刪除的JavaScript事件監聽器:
- 17. jQuery中的onfinish事件監聽器/ javascript
- 18. javascript對象的jquery事件監聽器
- 19. javascript中的事件監聽器
- 20. Laravel監聽器監聽多個事件
- 21. 切換事件監聽器
- 22. 刪除事件監聽器javascript
- 23. javascript事件監聽器函數
- 24. 刪除事件監聽器
- 25. JQuery到事件監聽器
- 26. 點擊事件監聽器
- 27. 事件監聽器問題
- 28. jquery點擊事件監聽器裏面的keyup事件監聽器
- 29. Javascript註冊事件監聽器
- 30. Javascript ActiveElement和Keydown事件監聽器
不知道它是一個實際的框架還是他們自己做的事情,但我猜測底層的事情就是開始在'mousedown'事件上做些事情,然後在'mouseup'處停下來。 – vlaz
查看數據來源。 –