[英]My fadeToggle() targets an element I don't want it to
我試圖制作一個可以在按下V形后隱藏的菜單,但是當我按下它時,它也會隱藏V形。 我知道為什么會這樣(因為我以人字形的父對象為目標,所以它也受fadeToggles的效果影響),但是我已經嘗試了一段時間了。 我嘗試使用.not()並添加僅包含按鈕但無濟於事的div。 我希望能夠將元素在'#FixedMenu'中定位為margin-left。
http://jsfiddle.net/clarinetking/2PGZS/25/
JavaScript / jQuery
$('#FixedMenu').fadeToggle('slow');
$('#CloseMenu').css({'opacity' : '100'});
的HTML
<div id='FixedMenu'>
<button class='MenuItem'></button>
<button class='MenuItem'></button>
<img id='Main' src='http://upload.wikimedia.org/wikipedia/commons/thumb/8/85/Smiley.svg/800px-Smiley.svg.png'></img>
<button class='MenuItem'></button>
<button class='MenuItem'></button>
<img id='CloseMenu' src='http://upload.wikimedia.org/wikipedia/commons/d/df/Chevron_up_font_awesome.svg'></img>
</div>
由於您需要#FixedMenu
內部的圖像, #FixedMenu
我采用了另一種方法。
您不能淡入淡出切換父級,否則里面的所有內容都會隱藏。 我正在做的是添加和刪除一個類,以更改css具有相同的效果。
這是jQuery:
$(document).ready(function () {
var position = 0;
$('#CloseMenu').click(function () {
position += 180;
$('#FixedMenu').toggleClass('active');
$('#Main, .MenuItem').fadeToggle();
$('#CloseMenu').css({
'-webkit-transform': 'rotate(' + position + 'deg)',
'-moz-transform': 'rotate(' + position + 'deg)',
'-o-transform': 'rotate(' + position + 'deg)',
'-ms-transform': 'rotate(' + position + 'deg)',
'transform': 'rotate(' + position + 'deg)'
});
});
});
我更改的CSS,
#FixedMenu.active {
background: rgba(0, 0, 0, 0.0);
}
最后,這是一個小提琴: JSFIDDLE
將圖像放在div之外,它將正常工作:
<div id='FixedMenu'>
<button class='MenuItem'></button>
<button class='MenuItem'></button>
<img id='Main' src='http://upload.wikimedia.org/wikipedia/commons/thumb/8/85/Smiley.svg/800px-Smiley.svg.png'></img>
<button class='MenuItem'></button>
<button class='MenuItem'></button>
</div>
<img id='CloseMenu' src='http://upload.wikimedia.org/wikipedia/commons/d/df/Chevron_up_font_awesome.svg'></img>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.