我不知道這樣的jQuery插件,但是寫的用戶界面非常簡單。
(編輯:其實我只是想,我可以使用此功能,我自己的地方我還不如寫在此基礎上,下週如果我有時間適當的插件,並且在這裏編輯它。從目前來看,以下是我最初發布...)
所有你需要的是一對夫婦的div:
<div id="thebutton">Click me!</div>
<div id="thebox" style="display:none;">Content goes here</div>
和一些jQuery的:
<script type="text/javascript">
$(function() {
$('#thebutton')
.click(function() {
//Show/hide the box
$(this).toggleClass('activated');
$(this).hasClass('activated') ? $('#thebox').fadeIn() : $('#thebox').fadeOut();
})
.mouseenter(function() {
//If the button is .activated, cancel any delayed hide and display the box
$(this).addClass('hovering');
if ($(this).hasClass('activated')) {
$('#thebox').clearQueue().fadeIn();
}
})
.mouseleave(function() {
//Hide the box after 300 milliseconds (unless someone cancels the action)
$(this).removeClass('hovering');
$('#thebox').delay(300).fadeOut();
});
$('#thebox')
//When hovering onto the box, cancel any delayed hide operations
.mouseenter(function() { $(this).clearQueue(); })
//When hovering off from the box, wait for 300 milliseconds and hide the box (unless cancelled)
.mouseleave(function() { $(this).delay(300).fadeOut(); });
});
</script>
剩下的幾乎就是#thebutton,#thebox,.hovering和.activated的CSS。
這裏有一個簡樸的外觀,同時寫這個我用:
<style type="text/css">
#thebutton { width: 100px; background-color: #eee; text-align: center; padding: 10px; cursor: pointer; }
#thebutton.activated { font-weight: bold; }
#thebutton.hovering { color: Blue; }
#thebox { background-color: #eee; position:relative; width: 300px; height: 200px; padding: 10px; top: 5px; display: none;}
</style>
我還沒有見過這種類型的控制任何地方 - 你可以編輯你的文章鏈接到一個例子? – jevakallio 2010-05-30 17:22:37
已更新,謝謝! – 2010-05-30 17:34:30