我在我的网络应用程序中使用jQuery UI Layout插件(layout.jquery-dev.net/index.cfm)。
仅使用3个面板(中间,西部和北部),我将调整器设置为可调整大小,同时在西面板上拖动鼠标。 此功能在我的AngularJS指令:
上$(element[0]).layout({
north__resizable: false,
closable: false,
slidable: false,
north: {
spacing_open: 0,
resizable: false,
togglerLength_open: 0,
togglerLength_closed: 0,
minSize: 30,
maxSize: 30
},
west: {
spacing_open: 8,
size: 250,
minSize: 160,
maxSize: 600,
resizable: true,
resizeWhileDragging: true
},
center: {
spacing_open: 30,
resizable: false,
closable: false,
slidable: false,
resizeWhileDragging: true
}
});
出于设计目的,我在垂直缩放器的中间放了一个图标。 此功能位于我的控制器的init():
_self.setResizableLayout = function() {
$timeout(function () {
$('.ui-layout-resizer-west').attr('ng-attr-title', "{{'drag' | translate}}");
$('.ui-layout-resizer-west').append(
'<span class="icon-dots-three-horizontal3" style="-ms-transform: rotate(90deg); -webkit-transform: rotate(90deg); transform: rotate(90deg); font-size: 5px; display: block; position: absolute; top: 50%; margin-left: -4px; opacity: 0.6; visibility: visible!important;"></span>');
}, 200)
}
此外,每当悬停和点击缩放器时,都会有:hover
和:active
样式:
.ui-layout-resizer-west {
border-left: 1px solid #dadee3;
background: #f0f3f8;
border-right: none;
width: 8px !important;
&:hover, &:active {
border-right: 1px solid #dadee3;
background: #E1EAF2;
cursor: move !important;
cursor: -moz-grab !important;
cursor: -webkit-grab !important;
border-right: 1px solid #dadee3;
}
:hover
效果会丢失(就像将缩放器拖动到极限并进一步移动光标,同时仍然按下鼠标按钮时) 。似乎忽略了:active
选择器。 问题:是否有任何解决方法,因此我可以在拖动缩放器时始终显示图标并保留:hover
样式?
display: none
做了这个伎俩。.ui-layout-resizer-dragging
。答案 0 :(得分:1)
对于悬停方面,我在我的样式上实现了类.ui-layout-resizer-dragging
,其样式与我的:hover
和:active
选择器相同(可能最后一个没用了):
&:hover, &:active {
background: #E1EAF2;
cursor: move !important;
cursor: -moz-grab !important;
cursor: -webkit-grab !important;
border-right: 1px solid #dadee3;
}
}
.ui-layout-resizer-dragging { /* resizer beging 'dragging' */
background: #E1EAF2;
cursor: move !important;
cursor: -moz-grab !important;
cursor: -webkit-grab !important;
border-right: 1px solid #dadee3;
display: none;
}
如上所示,我在display: none
类上使用了.ui-layout-resizer-dragging
,因此拖动缩放器时会显示图标。