javascript – AngularJS:有元素跟随光标
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – AngularJS:有元素跟随光标,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2509字,纯文字阅读大概需要4分钟。
内容图文
![javascript – AngularJS:有元素跟随光标](/upload/InfoBanner/zyjiaocheng/825/b64f013962654b8fa9b7672e0d539642.jpg)
jsfiddle在这里:https://jsfiddle.net/Flignats/jzrzo56u/3/
我的页面上有一个最初隐藏的元素(popover).当页面上的另一个元素悬停时,我希望弹出框显示在光标旁边.
在我的小提琴中,我有3个段落和弹出窗口.当用户的光标输入段落时,将显示弹出框.当用户的光标离开元素时,不再显示弹出框.
我无法检索光标坐标并将光标位于光标附近.
任何帮助表示赞赏:)
角度代码:
var app = angular.module('myApp', []);
app.controller('Ctrl',['$scope',function($scope) {
$scope.name = 'Ray';
$scope.popover = false;
//Method to show popover
$scope.showPopover = function() {
return $scope.popover = !$scope.popover;
};
}]);
HTML代码:
<div ng-app="myApp" ng-controller="Ctrl">
<div id="container">
<p ng-mouseenter="showPopover()" ng-mouseleave="showPopover()">Square 1</p>
<p ng-mouseenter="showPopover()" ng-mouseleave="showPopover()">Square 2</p>
<p ng-mouseenter="showPopover()" ng-mouseleave="showPopover()">Square 3</p>
</div>
<div class="pop-availability" ng-show="popover">
<div class="pop-title">
<p>Title Content Goes Here</p>
</div>
<div class="pop-content">
<table class="pop-table">
<thead>
<tr>
<th></th>
<th ng-repeat='name in data.record'>{{name.name}}</th>
</tr>
</thead>
<tbody>
<tr>
<td>Row 1</td>
<td ng-repeat='available in data.record'>{{available.number}}</td>
</tr>
<tr>
<td>Row 2</td>
<td ng-repeat='unavailable in data.record'>{{unavailable.number}}</td>
</tr>
<tr>
<td>Row 3</td>
<td ng-repeat='unassigned in data.record'>{{unassigned.number}}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
编辑:更新了捕获鼠标坐标的jsfiddle.仍然无法让popover移动到光标:https://jsfiddle.net/Flignats/jzrzo56u/4/
编辑:越来越近,但它是一个小小的车! https://jsfiddle.net/Flignats/jzrzo56u/5/
解决方案:https://jsfiddle.net/Flignats/jzrzo56u/6/
解决方法:
HTML – 将$event参数添加到showPopover函数
<p ng-mouseenter="showPopover($event)" ng-mouseleave="showPopover()">Square 1</p>
<p ng-mouseenter="showPopover($event)" ng-mouseleave="showPopover()">Square 2</p>
<p ng-mouseenter="showPopover($event)" ng-mouseleave="showPopover()">Square 3</p>
使用ng-style,您可以更改位置Source
<div class="pop-availability" ng-show="popover"
ng-style="{left:field.left,
top:field.top}" >
JavaScript的
//Method to show popover
$scope.showPopover = function(mouseEvent) {
if (!mouseEvent)
{
mouseEvent = window.event;
}
$scope.field.left = mouseEvent.pageX + 'px';
$scope.field.top = mouseEvent.pageY+ 'px';
return $scope.popover = !$scope.popover;
};
CSS更改 – 添加位置:绝对
.pop-availability {
border-radius: 8px;
box-shadow: 0 0 10px 0 #969696;
display: inline-block;
min-width: 375px;
position:absolute;
}
内容总结
以上是互联网集市为您收集整理的javascript – AngularJS:有元素跟随光标全部内容,希望文章能够帮你解决javascript – AngularJS:有元素跟随光标所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。