我不確定如何在JavaScript中解決這個問題,所以我討論了「動態變量」。如果還有更好的辦法,請告訴我!在函數中使用「動態變量」
由於是一個參數(左或右)的函數:
var footerMenuLeftOpen = true;
var footerMenuRightOpen = true;
function footerMenu(menuName, className) {
if (menuName) {
$('.content-' + className).animate({
height: "+=28px",
}, {
duration: 100
});
return false;
} else {
$('.content-' + className).animate({
height: "-=28px",
}, {
duration: 100
});
return true;
}
}
$(".content-left").click(function() {
footerMenuLeftOpen = footerMenu(footerMenuLeftOpen, 'left');
});
$(".content-right").click(function() {
footerMenuRightOpen = footerMenu(footerMenuRightOpen, 'right');
});
.content-left {
width: 200px;
height: 100px;
background-color: red;
display: inline-block;
}
.content-right {
width: 200px;
height: 100px;
background-color: blue;
display: inline-block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="content-left">
</div>
<div class="content-right">
</div>
現在我想添加代碼,在高度的變化(+/- 28px)取決於在紅色或藍色框的高度。 因此,我想在盒子顯示後儘快檢查盒子的起始高度。
例如:
if ($('.content-left').height() > 42) {
LeftHeight: "+=28px",
} else if ($('.footer-button-box.left').height() > 28) {
LeftHeight: "+=14px",
} else {
LeftHeight: "+=5px",
}
但我怎麼現在改功能「footerMenu」的高度值,以便從IF函數關於所確定的值,高度的變化?
我因子評分關於類似
$('.content-' + className).animate({
height: className+Height,
}, {
duration: 100
});
...其中,類名是「左」加術語「高度」;所以離開了高度。
我想有一種更好的解決方案,使其工作只有一個優雅的功能?
在此先感謝!
編輯:由於我的問題是很難理解,在簡單的話:
我有變量「leftHeight」和「rightHeight」。 現在:我如何從一個函數中訪問這些變量,其中left/right是參數的值?
目標:高度:leftHeight
理念:高度:類名+「高度」
...所以如何使用功能變量名稱的一部分的參數的值?
'if'不是一個函數,不返回任何東西。使用三元運算符,並將它們放置在屬性值的位置。 – Bergi
不知道你想在這裏做什麼,但如果你想,你可以看看flexbox,我認爲它可以滿足你的要求..沒有jS –