HTML:
<div id="slick-slidetoggle">wxyz</div>
<div id="slickbox" >abcd</div>
JS
// DOM の準備が整うとすぐに slickbox を非表示にします (ページの読み込みよりも少し早く)
var hoverVariable=false;
var hoverVariable2=false;
$('#slickbox').hide();
$('#slick-slidetoggle').mouseover(function() {
hoverVariable2=true;
$('#slickbox').slideToggle(600);
return false;
})
$('#slick-slidetoggle').mouseleave(function() {
hoverVariable2=false;
setTimeout(function (){
if(!hoverVariable && !hoverVariable2){
$('#slickbox').slideToggle(600);
return false;}
}, 1000);
})
$('#slickbox').mouseleave(function() {
hoverVariable=false;
setTimeout(function (){
if(!hoverVariable && !hoverVariable2){
$('#slickbox').slideToggle(600);
return false;}
return false;
}, 1000);
})
$('#slickbox').mouseover(function() {
hoverVariable2=false;
hoverVariable=true;
})
CSS
#slickbox {
background: black;
width:100px;
height: 135px;
display: none;
cursor:pointer;
color:white;
}
#slick-slidetoggle{
background: yellow;
width:100px;
height: 135px;
cursor:pointer;
color:black;
}
</p>
上記の機能は、純粋な CSS を使用して達成したいものです。これは、「wxyz」ボタンの上にカーソルを置くと、「abcd」ボタンが下に移動し、マウスが「wxyz」から 3 秒間離れても表示されたままになります。
表示プロパティでトランジション遅延を試しましたが、表示プロパティではうまくいかないようです。次に、position:absolute & 可視性 & 可視性の遷移遅延を試しましたが、ボタンの表示が非表示ではなく 3 秒遅れました。CSSまたはCSS3のみを使用して、ボタンを「wxyz」から離して3秒後に「abcd」ボタンを非表示にしたい