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.
98 lines
2.4 KiB
98 lines
2.4 KiB
/* ------------------------------------------------------------------------------ |
|
* |
|
* # Sticky sidebar with custom scrollbar |
|
* |
|
* Specific JS code additions for layout_sidebar_sticky_custom.html page |
|
* |
|
* Version: 1.0 |
|
* Latest update: Aug 1, 2015 |
|
* |
|
* ---------------------------------------------------------------------------- */ |
|
|
|
$(function() { |
|
|
|
|
|
// Mini sidebar |
|
// ------------------------- |
|
|
|
// Setup |
|
function miniSidebar() { |
|
if ($('body').hasClass('sidebar-xs')) { |
|
$('.sidebar-main.sidebar-fixed .sidebar-content').on('mouseenter', function () { |
|
if ($('body').hasClass('sidebar-xs')) { |
|
|
|
// Expand fixed navbar |
|
$('body').removeClass('sidebar-xs').addClass('sidebar-fixed-expanded'); |
|
} |
|
}).on('mouseleave', function () { |
|
if ($('body').hasClass('sidebar-fixed-expanded')) { |
|
|
|
// Collapse fixed navbar |
|
$('body').removeClass('sidebar-fixed-expanded').addClass('sidebar-xs'); |
|
} |
|
}); |
|
} |
|
} |
|
|
|
// Initialize |
|
miniSidebar(); |
|
|
|
|
|
// Toggle mini sidebar |
|
$('.sidebar-main-toggle').on('click', function (e) { |
|
|
|
// Initialize mini sidebar |
|
miniSidebar(); |
|
}); |
|
|
|
|
|
// Nice scroll |
|
// ------------------------------ |
|
|
|
// Setup |
|
function initScroll() { |
|
$(".sidebar-fixed .sidebar-content").niceScroll({ |
|
mousescrollstep: 100, |
|
cursorcolor: '#ccc', |
|
cursorborder: '', |
|
cursorwidth: 3, |
|
hidecursordelay: 100, |
|
autohidemode: 'scroll', |
|
horizrailenabled: false, |
|
preservenativescrolling: false, |
|
railpadding: { |
|
right: 0.5, |
|
top: 1.5, |
|
bottom: 1.5 |
|
} |
|
}); |
|
} |
|
|
|
// Remove |
|
function removeScroll() { |
|
$(".sidebar-fixed .sidebar-content").getNiceScroll().remove(); |
|
$(".sidebar-fixed .sidebar-content").removeAttr('style').removeAttr('tabindex'); |
|
} |
|
|
|
// Initialize |
|
initScroll(); |
|
|
|
|
|
|
|
// Remove scrollbar on mobile |
|
$(window).on('resize', function() { |
|
setTimeout(function() { |
|
if($(window).width() <= 768) { |
|
|
|
// Remove nicescroll on mobiles |
|
removeScroll(); |
|
} |
|
else { |
|
|
|
// Init scrollbar |
|
initScroll(); |
|
} |
|
}, 100); |
|
}).resize(); |
|
|
|
});
|
|
|