1
0
mirror of https://gitee.com/coder-xiaomo/flashsale synced 2025-01-11 12:18:22 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
flashsale/frontend/static/js/common/navbar.js

107 lines
3.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(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 );