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.
 
 
 
 

131 lines
3.6 KiB

$(document).ready(function() {
var imgW = $(".gal .img_container").width()
$(".gal .img_container").css('height',imgW);
$(".alist").on("click", "li",function(){
$(".content-wrapper").removeClass('open');
$(this).find(".content-wrapper").addClass('open');
});
$("a.news").click(function(){
$("#news").toggleClass('open');
});
$("a.info").click(function(){
$("#info").toggleClass('open');
});
$(".closebtn").click(function(e){
e.stopPropagation(); // Prevent event bubbling
$(this).parent().removeClass('open');
console.log("Close button clicked - should remove 'open' class");
});
$("#bg").click(function(){
$(this).css('display','none');
});
//
//$(".alist").on("click", "li",function(){
//$(".content-wrapper").removeClass('open');
//$(this).find(".content-wrapper").addClass('open');
//});
//$("a.news").click(function(){
//$("#news").toggleClass('open');
//});
//$("a.info").click(function(){
//$("#info").toggleClass('open');
//});
//$(".closebtn").click(function(){
//$(this).parent().removeClass('open');
//$(this).parent().toggleClass('wkfhjsldkgfh');
//console.log("fuubar");
//});
$(document).on("click", ".gal img", function() {
var clickedSrc = $(this).attr("src");
console.log(clickedSrc);
$(this).closest(".gal").next(".imgzoom").find("img").attr("src", clickedSrc);
});
let currentSort = null;
let currentDirection = 'asc';
// Click handler for sort buttons
$('.legend li.sort').click(function() {
const sortBy = $(this).attr('data-sort');
console.log("Sorting by:", sortBy); // Debug info
// Toggle direction if clicking the same sort again
if (currentSort === sortBy) {
currentDirection = currentDirection === 'asc' ? 'desc' : 'asc';
} else {
currentDirection = 'asc';
}
currentSort = sortBy;
console.log("Direction:", currentDirection); // Debug info
// Get the list and all articles
const $list = $('ul.alist');
if ($list.length === 0) {
console.error("List with class 'alist' not found"); // Debug info
return;
}
// Get all list items
let $articles = $list.children('li').toArray();
console.log("Found", $articles.length, "articles"); // Debug info
// Sort the articles
$articles.sort(function(a, b) {
// Find the spans with the sorting class
const $spanA = $(a).find('span.' + sortBy);
const $spanB = $(b).find('span.' + sortBy);
// If either element doesn't have the required span, skip sorting
if ($spanA.length === 0 || $spanB.length === 0) {
return 0;
}
const valueA = $spanA.text().trim().toLowerCase();
const valueB = $spanB.text().trim().toLowerCase();
// Try sorting as numbers if possible
const numA = parseFloat(valueA);
const numB = parseFloat(valueB);
let result;
if (!isNaN(numA) && !isNaN(numB)) {
result = numA - numB;
} else {
// Otherwise sort alphabetically
result = valueA.localeCompare(valueB);
}
// Reverse if descending
return currentDirection === 'desc' ? -result : result;
});
// Re-append in new order
$list.empty();
$.each($articles, function(i, item) {
$list.append(item);
});
// Update UI indicators
$('.legend li.sort').removeClass('active sort-asc sort-desc');
$(this).addClass('active');
$(this).addClass(currentDirection === 'asc' ? 'sort-asc' : 'sort-desc');
});
});