Initial commit of slide manager plugin

This commit is contained in:
2026-02-08 21:39:31 -08:00
commit 40099aa68a
32 changed files with 11284 additions and 0 deletions
+79
View File
@@ -0,0 +1,79 @@
/**
* Hi-School Slide Manager - Frontend JavaScript
*/
jQuery(document).ready(function($) {
'use strict';
// Initialize slide functionality
initializeSlides();
/**
* Initialize slide functionality
*/
function initializeSlides() {
$('.hssm-slides-container').each(function() {
var $container = $(this);
var $slides = $container.find('.hssm-slide');
// Add fade-in animation
$slides.each(function(index) {
var $slide = $(this);
setTimeout(function() {
$slide.addClass('hssm-fade-in');
}, index * 100);
});
// Add click handlers for interactive slides
$slides.on('click', function() {
var $slide = $(this);
$slide.toggleClass('hssm-slide-expanded');
});
});
}
/**
* Handle slide interactions
*/
$(document).on('click', '.hssm-slide-toggle', function(e) {
e.preventDefault();
var $button = $(this);
var $slide = $button.closest('.hssm-slide');
var $content = $slide.find('.hssm-slide-content');
$content.slideToggle(300);
$button.text($content.is(':visible') ? 'Hide' : 'Show');
});
/**
* Handle keyboard navigation
*/
$(document).on('keydown', '.hssm-slide', function(e) {
if (e.which === 13 || e.which === 32) { // Enter or Space
e.preventDefault();
$(this).click();
}
});
});
// Add CSS classes via JavaScript for animations
document.addEventListener('DOMContentLoaded', function() {
var style = document.createElement('style');
style.textContent = `
.hssm-slide {
opacity: 0;
transform: translateY(20px);
transition: opacity 0.5s ease, transform 0.5s ease;
}
.hssm-slide.hssm-fade-in {
opacity: 1;
transform: translateY(0);
}
.hssm-slide.hssm-slide-expanded {
transform: scale(1.02);
}
`;
document.head.appendChild(style);
});