You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
simple-yewu/frontend/web/assets/js/hplus.js

286 lines
7.5 KiB

5 years ago
/*
*
* H+ - 后台主题UI框架
* version 4.9
*
*/
//自定义js
//公共配置
$(document).ready(function () {
// MetsiMenu
$('#side-menu').metisMenu();
// 打开右侧边栏
$('.right-sidebar-toggle').click(function () {
$('#right-sidebar').toggleClass('sidebar-open');
});
// 右侧边栏使用slimscroll
$('.sidebar-container').slimScroll({
height: '100%',
railOpacity: 0.4,
wheelStep: 10
});
// 打开聊天窗口
$('.open-small-chat').click(function () {
$(this).children().toggleClass('fa-comments').toggleClass('fa-remove');
$('.small-chat-box').toggleClass('active');
});
// 聊天窗口使用slimscroll
$('.small-chat-box .content').slimScroll({
height: '234px',
railOpacity: 0.4
});
// Small todo handler
$('.check-link').click(function () {
var button = $(this).find('i');
var label = $(this).next('span');
button.toggleClass('fa-check-square').toggleClass('fa-square-o');
label.toggleClass('todo-completed');
return false;
});
//固定菜单栏
$(function () {
$('.sidebar-collapse').slimScroll({
height: '100%',
railOpacity: 0.9,
alwaysVisible: false
});
});
// 菜单切换
$('.navbar-minimalize').click(function () {
$("body").toggleClass("mini-navbar");
SmoothlyMenu();
});
// 侧边栏高度
function fix_height() {
var heightWithoutNavbar = $("body > #wrapper").height() - 61;
$(".sidebard-panel").css("min-height", heightWithoutNavbar + "px");
}
fix_height();
$(window).bind("load resize click scroll", function () {
if (!$("body").hasClass('body-small')) {
fix_height();
}
});
//侧边栏滚动
$(window).scroll(function () {
if ($(window).scrollTop() > 0 && !$('body').hasClass('fixed-nav')) {
$('#right-sidebar').addClass('sidebar-top');
} else {
$('#right-sidebar').removeClass('sidebar-top');
}
});
$('.full-height-scroll').slimScroll({
height: '100%'
});
$('#side-menu>li').click(function () {
if ($('body').hasClass('mini-navbar')) {
NavToggle();
}
});
$('#side-menu>li li a').click(function () {
if ($(window).width() < 769) {
NavToggle();
}
});
$('.nav-close').click(NavToggle);
//ios浏览器兼容性处理
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
$('#content-main').css('overflow-y', 'auto');
}
});
$(window).bind("load resize", function () {
if ($(this).width() < 769) {
$('body').addClass('mini-navbar');
$('.navbar-static-side').fadeIn();
}
});
function NavToggle() {
$('.navbar-minimalize').trigger('click');
}
function SmoothlyMenu() {
if (!$('body').hasClass('mini-navbar')) {
$('#side-menu').hide();
setTimeout(
function () {
$('#side-menu').fadeIn(500);
}, 100);
} else if ($('body').hasClass('fixed-sidebar')) {
$('#side-menu').hide();
setTimeout(
function () {
$('#side-menu').fadeIn(500);
}, 300);
} else {
$('#side-menu').removeAttr('style');
}
}
//主题设置
$(function () {
// 顶部菜单固定
$('#fixednavbar').click(function () {
if ($('#fixednavbar').is(':checked')) {
$(".navbar-static-top").removeClass('navbar-static-top').addClass('navbar-fixed-top');
$("body").removeClass('boxed-layout');
$("body").addClass('fixed-nav');
$('#boxedlayout').prop('checked', false);
if (localStorageSupport) {
localStorage.setItem("boxedlayout", 'off');
}
if (localStorageSupport) {
localStorage.setItem("fixednavbar", 'on');
}
} else {
$(".navbar-fixed-top").removeClass('navbar-fixed-top').addClass('navbar-static-top');
$("body").removeClass('fixed-nav');
if (localStorageSupport) {
localStorage.setItem("fixednavbar", 'off');
}
}
});
// 收起左侧菜单
$('#collapsemenu').click(function () {
if ($('#collapsemenu').is(':checked')) {
$("body").addClass('mini-navbar');
SmoothlyMenu();
if (localStorageSupport) {
localStorage.setItem("collapse_menu", 'on');
}
} else {
$("body").removeClass('mini-navbar');
SmoothlyMenu();
if (localStorageSupport) {
localStorage.setItem("collapse_menu", 'off');
}
}
});
// 固定宽度
$('#boxedlayout').click(function () {
if ($('#boxedlayout').is(':checked')) {
$("body").addClass('boxed-layout');
$('#fixednavbar').prop('checked', false);
$(".navbar-fixed-top").removeClass('navbar-fixed-top').addClass('navbar-static-top');
$("body").removeClass('fixed-nav');
if (localStorageSupport) {
localStorage.setItem("fixednavbar", 'off');
}
if (localStorageSupport) {
localStorage.setItem("boxedlayout", 'on');
}
} else {
$("body").removeClass('boxed-layout');
if (localStorageSupport) {
localStorage.setItem("boxedlayout", 'off');
}
}
});
// 默认主题
$('.s-skin-0').click(function () {
$("body").removeClass("skin-1");
$("body").removeClass("skin-2");
$("body").removeClass("skin-3");
return false;
});
// 蓝色主题
$('.s-skin-1').click(function () {
$("body").removeClass("skin-2");
$("body").removeClass("skin-3");
$("body").addClass("skin-1");
return false;
});
// 黄色主题
$('.s-skin-3').click(function () {
$("body").removeClass("skin-1");
$("body").removeClass("skin-2");
$("body").addClass("skin-3");
return false;
});
if (localStorageSupport) {
var collapse = localStorage.getItem("collapse_menu");
var fixednavbar = localStorage.getItem("fixednavbar");
var boxedlayout = localStorage.getItem("boxedlayout");
if (collapse == 'on') {
$('#collapsemenu').prop('checked', 'checked')
}
if (fixednavbar == 'on') {
$('#fixednavbar').prop('checked', 'checked')
}
if (boxedlayout == 'on') {
$('#boxedlayout').prop('checked', 'checked')
}
}
if (localStorageSupport) {
var collapse = localStorage.getItem("collapse_menu");
var fixednavbar = localStorage.getItem("fixednavbar");
var boxedlayout = localStorage.getItem("boxedlayout");
var body = $('body');
if (collapse == 'on') {
if (!body.hasClass('body-small')) {
body.addClass('mini-navbar');
}
}
if (fixednavbar == 'on') {
$(".navbar-static-top").removeClass('navbar-static-top').addClass('navbar-fixed-top');
body.addClass('fixed-nav');
}
if (boxedlayout == 'on') {
body.addClass('boxed-layout');
}
}
});
//判断浏览器是否支持html5本地存储
function localStorageSupport() {
return (('localStorage' in window) && window['localStorage'] !== null)
}