my-project-vue/public/script.js

335 lines
12 KiB
JavaScript
Raw Permalink 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.

$(document).ready(function() {
// 默认显示第一个选项卡
$(".tabcontent").hide();
$("#Tab0").show();
$(".tablinks").first().addClass("active");
var openedTabs = new Set();
// 点击选项卡按钮时切换内容
$(".tablinks").click(function() {
var tabName = $(this).data("tab");
// 隐藏所有选项卡内容
$(".tabcontent").hide();
// 显示当前选项卡内容
$("#" + tabName).show();
// 移除所有按钮的活动状态
$(".tablinks").removeClass("active");
// 设置当前按钮为活动状态
$(this).addClass("active");
updateContentOpacity($("#mySlider").val());
});
// 添加新选项卡
$("#addTab").click(function() {
var newIndex = findNextAvailableIndex();
var newTabId = "Tab" + newIndex;
var newTabButton = `<button class="tablinks" data-tab="${newTabId}">第${newIndex}张照片<span class="closeButton" data-tab="${newTabId}">x</span></button>`;
var newTabContent = `
<div id="${newTabId}" class="tabcontent">
<h3>第${newIndex}张照片</h3>
<img style="max-width:100%;overflow:hidden;" src="./jpg/${newIndex}.jpg" alt="第${newIndex}张照片">
</div>
`;
$(".tab").find(".addTab").before(newTabButton);
$("body").append(newTabContent);
$(".tabcontent").hide();
$("#" + newTabId).show();
$(".tablinks").removeClass("active");
$(`.tablinks[data-tab="${newTabId}"]`).addClass("active");
bindTabEvents();
updateContentOpacity($("#mySlider").val());
openedTabs.add(newIndex);
});
// 删除选项卡
$(document).on("click", ".closeButton", function() {
var tabName = $(this).data("tab");
var activeTab = $(".tablinks.active").data("tab");
// 记录当前活动的标签页
var previousTabButton = $(".tablinks.active").prev(".tablinks");
// 删除当前标签页
$("#" + tabName).remove();
$("button[data-tab='" + tabName + "']").remove();
// 如果删除的是当前活动的标签页
if (tabName === activeTab) {
// 显示上一个标签页
if (previousTabButton.length > 0) {
var previousTab = previousTabButton.data("tab");
$("#" + previousTab).show();
previousTabButton.addClass("active");
} else {
// 如果没有上一个标签页,显示第一个标签页
$(".tabcontent").hide();
$(".tablinks").first().addClass("active");
$("#" + $(".tablinks").first().data("tab")).show();
}
}
updateContentOpacity($("#mySlider").val());
});
// 绑定选项卡按钮和删除按钮的事件
function bindTabEvents() {
$(".tablinks").off("click").click(function() {
var tabName = $(this).data("tab");
// 隐藏所有选项卡内容
$(".tabcontent").hide();
// 显示当前选项卡内容
$("#" + tabName).show();
// 移除所有按钮的活动状态
$(".tablinks").removeClass("active");
// 设置当前按钮为活动状态
$(this).addClass("active");
updateContentOpacity($("#mySlider").val());
});
$(".removeTab").off("click").click(function() {
var tabName = $(this).data("tab");
var activeTab = $(".tablinks.active").data("tab");
// 记录当前活动的标签页
var previousTabButton = $(".tablinks.active").prev(".tablinks");
// 删除当前标签页
$("#" + tabName).remove();
$("button[data-tab='" + tabName + "']").remove();
// 如果删除的是当前活动的标签页
if (tabName === activeTab) {
// 显示上一个标签页
if (previousTabButton.length > 0) {
var previousTab = previousTabButton.data("tab");
$("#" + previousTab).show();
previousTabButton.addClass("active");
} else {
// 如果没有上一个标签页,显示第一个标签页
$(".tabcontent").hide();
$(".tablinks").first().addClass("active");
$("#" + $(".tablinks").first().data("tab")).show();
}
}
updateContentOpacity($("#mySlider").val());
});
}
function findNextAvailableIndex() {
var indices = $(".tablinks").map(function() {
return parseInt($(this).data("tab").replace("Tab", ""));
}).get();
indices.sort((a, b) => a - b); // 确保索引是按顺序排列的
// for (var i = 1; i <= indices.length + 1; i++) {
// if (!indices.includes(i)) {
// return i;
// }
// }
// return indices.length + 1;
//最小索引值
// var maxIndex = indices.length > 0 ? indices[indices.length - 1] : 0; // 找到最大索引值如果没有索引则默认为0
// return maxIndex + 1; // 返回最大索引值加1
//最大索引值
// 找到未打开过的最小索引
var nextIndex = 1;
while (indices.includes(nextIndex) || openedTabs.has(nextIndex)) {
nextIndex++;
}
return nextIndex;
}
// 初始绑定事件
bindTabEvents();
$(document).ready(function() {
var date = new Date();
var year = date.getFullYear();
var nowyear = date.getFullYear();
var month = date.getMonth() + 1;
var nowmonth = date.getMonth() + 1;
var dateday = date.getDate();
var todateHtml = year + '年' + month + '月';
$('#topDate').text(todateHtml);
function showcld() {
var monthDay = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; // 创建数组存放每个月有多少天 ,默认2月为28天
// 判断闰年
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
monthDay[1] = 29;
}
// 计算每个月的天数
var days = monthDay[month - 1];
// 判断每月第一天为周几
date.setYear(year); //某年
date.setMonth(month - 1); //某年的某月
date.setDate(1); // 某月的某天
var weekday = date.getDay(); // 判断某天是周几
// 补齐一号前的空格
var tbodyHtml = '<tr>';
for (var i = 0; i < weekday; i++) {
tbodyHtml += "<td></td>";
}
// 补齐每月的日期
var changLine = weekday;
var tagClass = '';
for (i = 1; i <= days; i++) { //每一个日期的填充
if (year == nowyear && month == nowmonth && i == dateday) {
tagClass = "curDate"; //当前日期对应格子
} else {
tagClass = "isDate";
}
tbodyHtml += "<td class='" + tagClass + "' data-date='" + year + '-' + month + '-' + i + "'>" + i + "</td>";
changLine = (changLine + 1) % 7;
if (changLine == 0 && i != days) { //是否换行填充的判断
tbodyHtml += "</tr><tr>";
}
}
$('#tbody').empty(); // 清空原有的内容
$('#tbody').append(tbodyHtml); //添加当前月份的日期内容
// 添加点击事件
$('#tbody td').click(function() {
var dateString = $(this).data('date');
document.title = dateString;
});
}
// 设置按钮点击事件
$('#left').click(function() {
month = month - 1;
if (month < 1) {
month = 12;
year--;
}
var todateHtml = year + '年' + month + '月';
$('#topDate').text(todateHtml);
showcld();
});
$('#right').click(function() {
month = month + 1;
if (month > 12) {
month = 1;
year++;
}
var todateHtml = year + '年' + month + '月';
$('#topDate').text(todateHtml);
showcld();
});
showcld(); //页面加载后执行函数
});
$(document).ready(function() {
var date = new Date();
var year = date.getFullYear();
var nowyear = date.getFullYear();
var month = date.getMonth() + 1;
var nowmonth = date.getMonth() + 1;
var dateday = date.getDate();
var todateHtml = year + '年' + month + '月';
$('#topDate').text(todateHtml);
function showcld() {
var monthDay = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; // 创建数组存放每个月有多少天 ,默认2月为28天
// 判断闰年
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
monthDay[1] = 29;
}
// 计算每个月的天数
var days = monthDay[month - 1];
// 判断每月第一天为周几
date.setYear(year); //某年
date.setMonth(month - 1); //某年的某月
date.setDate(1); // 某月的某天
var weekday = date.getDay(); // 判断某天是周几
// 补齐一号前的空格
var tbodyHtml = '<tr>';
for (var i = 0; i < weekday; i++) {
tbodyHtml += "<td></td>";
}
// 补齐每月的日期
var changLine = weekday;
var tagClass = '';
for (i = 1; i <= days; i++) { //每一个日期的填充
if (year == nowyear && month == nowmonth && i == dateday) {
tagClass = "curDate"; //当前日期对应格子
} else {
tagClass = "isDate";
}
tbodyHtml += "<td class='" + tagClass + "' data-date='" + year + '-' + month + '-' + i + "'>" + i + "</td>";
changLine = (changLine + 1) % 7;
if (changLine == 0 && i != days) { //是否换行填充的判断
tbodyHtml += "</tr><tr>";
}
}
$('#tbody').empty(); // 清空原有的内容
$('#tbody').append(tbodyHtml); //添加当前月份的日期内容
// 添加点击事件
$('#tbody td').click(function() {
var dateString = $(this).data('date');
$('#selectedDate').text(dateString);
// window.location.href = 'date.html?date=' + encodeURIComponent(dateString);
var url = 'date.html?date=' + encodeURIComponent(dateString);
window.open(url, '_blank');
});
}
// 设置按钮点击事件
$('#left').click(function() {
month = month - 1;
if (month < 1) {
month = 12;
year--;
}
var todateHtml = year + '年' + month + '月';
$('#topDate').text(todateHtml);
showcld();
});
$('#right').click(function() {
month = month + 1;
if (month > 12) {
month = 1;
year++;
}
var todateHtml = year + '年' + month + '月';
$('#topDate').text(todateHtml);
showcld();
});
showcld(); //页面加载后执行函数
});
$(document).ready(function() {
const slider = $('#mySlider');
const sliderValue = $('#sliderValue');
//const content = $('.tabcontent');
// 初始化显示滑块的值
sliderValue.text(slider.val());
updateContentOpacity(slider.val());
// 监听滑块值的变化
slider.on('input', function() {
const value = slider.val();
sliderValue.text(value);
updateContentOpacity(value);});
});
function updateContentOpacity(value) {
$('.tabcontent').css('--content-opacity', value / 100);
}
});
$(document).ready(function() {
$('#closeButton').click(function() {
window.close();
});
});
$(document).ready(function() {
var urlParams = new URLSearchParams(window.location.search);
var dateString = urlParams.get('date');
if (dateString) {
$('#selectedDate').text(dateString);
} else {
console.warn('No date found in the URL.');
}
});