私はAngularJSを初めて使用しますが、AngularJSを使用してmouseover
にdivをポップアップ表示するにはどうすればよいですか。マウスオーバーでdivのサイズを変更すると、構造全体が変更され、隣接する要素を邪魔せずにポップアップdivを表示する方法が変わります。
マークアップ
<div ng-repeat="x in images | filter:test" style="float:left; width:30%" ng-mouseover="count=1" ng-mouseleave="count=0" >
<img ng-src="{{x.path}}"
style="width: 100px; height:100px"><div> {{x.company}}</div>
<div style="background-color:#E6E6FA;text-align: center;"ng-show="count">
price:{{x.price}}</br>
size:{{x.size}}</br>
</div>
</img>
<div/>
Company、size on mouseover
などのマークアップに追加のものを追加しました。 mouseover
に画像をポップするのを手伝ってください。前もって感謝します
あなたは2つのことをしなければなりません。まず、ポップオーバー要素を絶対位置に配置して、ポップアップ時に他の要素の流れを妨げないようにする必要があります。このようなもの(z-indexは他の要素の上にあるようにするものです):
.popover {
position: absolute;
z-index: 100;
}
また、htmlマークアップでは、ng-mouseoverディレクティブを使用できます。
<div ng-mouseover="showPopover()" ng-mouseleave="hidePopover()">
more info
</div>
<div class="popover" ng-show="popoverIsVisible">Popover Content</div>
あなたのangularコントローラーはおそらく次のようになります
$scope.showPopover = function() {
$scope.popoverIsVisible = true;
};
$scope.hidePopover = function () {
$scope.popoverIsVisible = false;
};
複数ある場合は、それらすべてをディレクティブに入れる方がよいでしょう。