使用Ionic和Angular,我正在尝试创建一个基于Ionic Side菜单的指令。现在它基于他们的淡入淡出演示,看起来像这样。
.directive('fade', function ($timeout) {
return {
restrict: 'A',
link: function ($scope, $element, $attr) {
// Run in the next scope digest
$timeout(function () {
// Watch for changes to the openRatio which is a value between 0 and 1 that says how "open" the side menu is
$scope.$watch('sideMenuController.getOpenRatio()', function (ratio) {
// Set the transparency of the fade bar
$element[0].style.opacity = Math.abs(ratio);
});
});
}
};
})
所以现在.getOpenRatio
正在跟踪侧边菜单的打开方式。现在我正在做的是尝试淡化菜单内容,因为该比率变为1.但我的问题是我不知道如何得到该值的倒数。因此,Content的不透明度在关闭时设置为0,在打开时设置为1。 Here's my example
我如何才能“说”当开放比率为0时,我的内容不透明度为1,但当比率为1时,我的内容不透明度为0.我不知道这是否内置于JavaScript所以如果需要,我愿意将jQuery添加到项目中。
感谢任何帮助。
答案 0 :(得分:2)
尝试
$element[0].style.opacity = 1 - Math.abs(ratio);