如何在angular js中根据屏幕大小改变弹出窗口的位置?
How can I change popover placement in angular js depending screen size?
这是我在AngularJs应用程序中的代码。
<div class="col-lg-10 col-md-10 col-sm-10 col-xs-10 myMoodTitle">
<span class="headText">My Mood</span>
<a id="openMyMoodMsgBox" class="fa fa-question-circle tooltipInfo" uib-popover-template="'chatMySettingsMoodPopover.html'" popover-class="chat-mysettings-mymood" ng-click="open('1')" popover-is-open="isOpen1"></a>
</div>
以上代码,我不使用popover-placement
标签。我想改变这一点,当屏幕分辨率将小于768px它将显示popover-placement
是底部。我正在尝试下面这种方式,但它不工作:
var $iW = $(window).innerWidth();
if ($iW < 768){
$('.chat-mysettings-mymood').popover({placement: 'bottom'});
}
else{
$('.chat-mysettings-mymood').popover({placement: 'right'});
};
这里,chat-mysettings-mymood
为弹出窗口类名。我正在尝试解决这个问题,但我失败了,这个代码不工作。
当我使用popover-placement="right"
标签旁边的popover-class
标签,它的工作,但我怎么能控制它取决于我的屏幕分辨率?
使用angular expression for popover-placement:
<a id="openMyMoodMsgBox"
class="fa fa-question-circle tooltipInfo"
uib-popover-template="'chatMySettingsMoodPopover.html'"
popover-placement="{{ placement }}"
popover-class="chat-mysettings-mymood"
ng-click="open('1')"
popover-is-open="isOpen1"></a>
JS文件:
angular.module('ui.bootstrap.demo', ['ngAnimate', 'ngSanitize', 'ui.bootstrap']);
angular.module('ui.bootstrap.demo').controller('PopoverDemoCtrl', function ($scope, $timeout) {
$scope.isOpen1 = true;
updatePlacement();
$(window).on('resize', updatePlacement);
function updatePlacement () {
$timeout(function () {
console.log('W = ' + $(window).innerWidth());
$scope.placement = $(window).innerWidth() < 768 ? 'bottom' : 'right';
});
}
});
砰砰作响:https://plnkr.co/edit/Iy9y71YUWcYD1vvykQH9?p=preview
相关文章:
- Alining 2背景图像,改变窗口大小(背景大小:封面)
- Javascript排序的数组会改变窗口对象,但在遍历它时不会改变
- 在窗口改变方向时调整内容大小之前激发功能
- JavaScript:检测窗口开始改变位置的时刻
- 改变iframe url会改变父窗口的url
- Webbrowser控制如何改变一个窗口的javascript属性
- 如何在改变窗口宽度时重新加载css样式?
- 这段代码有什么问题?我试图改变每个部分的高度到窗口的高度
- Angularjs改变了窗口大小的视图
- 在套接字中发送文件.在不改变用户窗口位置的情况下执行IO操作
- 如何改变一个jQuery验证弹出窗口的颜色
- 改变模态窗口的大小
- 如何在angular js中根据屏幕大小改变弹出窗口的位置?
- 改变窗口宽度的变量值
- 如何“解除绑定”Mapbox中的弹出窗口?只允许从一定范围内的标记弹出(当用户移动时改变)
- Javascript窗口间隔不会改变
- 根据窗口内部高度改变Div高度
- AngularUI弹出窗口样式改变父元素点击
- 操纵/改变窗口.屏幕属性值
- 改变窗口.导航器JavaScript