mirror of
https://gitee.com/coder-xiaomo/flashsale
synced 2025-01-11 12:18:22 +08:00
107 lines
3.0 KiB
JavaScript
107 lines
3.0 KiB
JavaScript
|
(function( $ ){
|
|||
|
|
|||
|
var methods = {
|
|||
|
init : function( options ){
|
|||
|
var $this = this;
|
|||
|
options = $.extend( $.fn.drnavbar.options, options );
|
|||
|
|
|||
|
$this.data('previousScroll', 0);
|
|||
|
|
|||
|
$('#drNavbarUser').click(function(e){
|
|||
|
var isVisible = $(".drNavbarPopover").is(":visible");
|
|||
|
if(isVisible){
|
|||
|
$this.drnavbar("hideDropDownMenu");
|
|||
|
}else{
|
|||
|
$('#drNavbarUser').trigger("drNavbarPopoverFocus");
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
//focusout在safari下无法获取related target,不得已加入mousedown check focus out
|
|||
|
function installMouseDown(){
|
|||
|
$(document).one("mousedown",function(e){
|
|||
|
var target = e.target;
|
|||
|
if(target != null){
|
|||
|
if(target==$('#drNavbarUser')[0]){
|
|||
|
return;
|
|||
|
}
|
|||
|
var targetParents = $(target).parents();
|
|||
|
for(var i = 0; i < targetParents.length;i++){
|
|||
|
var parent = targetParents[i];
|
|||
|
if(parent == $(".drNavbarDropDownMenu")[0]){
|
|||
|
installMouseDown();
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
$('#drNavbarUser').trigger("click");
|
|||
|
});
|
|||
|
}
|
|||
|
$('#drNavbarUser').on("drNavbarPopoverFocus",function(){
|
|||
|
$this.drnavbar("showDropDownMenu");
|
|||
|
setTimeout(installMouseDown,200);
|
|||
|
});
|
|||
|
//设置
|
|||
|
$("#drNavbarDropdownSetting").hover(function(){
|
|||
|
$("#drNavbarDropdownSetting span").css("color","black");
|
|||
|
},function(){
|
|||
|
$("#drNavbarDropdownSetting span").css("color","");
|
|||
|
});
|
|||
|
//退出
|
|||
|
$("#drNavbarDropdownLogout").hover(function(){
|
|||
|
$("#drNavbarDropdownLogout span").css("color","black");
|
|||
|
},function(){
|
|||
|
$("#drNavbarDropdownLogout span").css("color","");
|
|||
|
});
|
|||
|
|
|||
|
|
|||
|
showDropDownMenu:function(){
|
|||
|
$(".drNavbarPopover").show();
|
|||
|
var deviceType = $.getDeviceWidthType();
|
|||
|
var deviceWidth = $.getDeviceWidth();
|
|||
|
var deviceHeight = $.getDeviceHeight();
|
|||
|
if(deviceType == 1){
|
|||
|
var top = 71;
|
|||
|
var width = deviceWidth;
|
|||
|
var height = deviceHeight - top;
|
|||
|
|
|||
|
var arrowTop = -14;
|
|||
|
var arrowLeft = width - 38;
|
|||
|
$(".drNavbarPopover").css("top",top+"px");
|
|||
|
$(".drNavbarPopover").css("width",width+"px");
|
|||
|
$(".drNavbarPopover").css("height",height+"px");
|
|||
|
$(".drNavbarPopover").css("left","0px");
|
|||
|
$(".drNavbarPopoverArrow").css("left",arrowLeft+"px");
|
|||
|
|
|||
|
}
|
|||
|
},
|
|||
|
hideDropDownMenu:function(){
|
|||
|
$(".drNavbarPopover").hide();
|
|||
|
$(".drNavbarPopover").css("top","");
|
|||
|
$(".drNavbarPopover").css("width","");
|
|||
|
$(".drNavbarPopover").css("height","");
|
|||
|
$(".drNavbarPopover").css("left","");
|
|||
|
$(".drNavbarPopoverArrow").css("left","");
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
};
|
|||
|
|
|||
|
|
|||
|
|
|||
|
$.fn.drnavbar = function( method ) {
|
|||
|
|
|||
|
// Method calling logic
|
|||
|
if ( methods[method] ) {
|
|||
|
return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
|
|||
|
} else if ( typeof method === 'object' || ! method ) {
|
|||
|
return methods.init.apply( this, arguments );
|
|||
|
} else {
|
|||
|
$.error( 'Method ' + method + ' does not exist on jQuery.drnavbar' );
|
|||
|
}
|
|||
|
|
|||
|
};
|
|||
|
|
|||
|
$.fn.drnavbar.options = {notificationUnReadTotalCount:0, personallettersUnReadTotalCount:0};
|
|||
|
|
|||
|
})( jQuery );
|