在坛友 @gm #0 帖子上,继续接力下去

- 修正了部分CSS错误
- 改用js重写计算部分
- 输出计算结果后原来输入的部分内容不会自动清除
也就是说,现在可以脱离php环境运行了,直接另存为 shengyu.html后缀即可,甚至可以在本地用chrome直接打开该html文件即可运行
VPS交易计算器 V5.0
VPS交易计算器
年付
半年付
季付
月付
二两付
三年付
五年付
计算结果:
续费价格:
剩余价值计算周期:
剩余价值:
交易价格:
溢价金额:
购买建议:
计算过程:
function calculateRemainingValue() {
// Retrieve input values
const purchasePrice = parseFloat(document.getElementById("purchasePrice").value);
const tradePrice = parseFloat(document.getElementById("tradePrice").value);
const currentDate = new Date(document.getElementById("currentDate").value);
const expiryDate = new Date(document.getElementById("expiryDate").value);
const paymentFrequency = document.getElementById("paymentFrequency").value;
// Calculate remaining days
const remainingDays = Math.floor((expiryDate - currentDate) / (24 * 60 * 60 * 1000));
const remainingMonths = Math.floor(remainingDays / 30);
// Calculate remaining value
let paymentFrequency_ = "";
let remainingValue = 0;
switch (paymentFrequency) {
case "quarterly":
paymentFrequency_ = "季付";
remainingValue = purchasePrice / 90 * remainingDays;
break;
case "yearly":
paymentFrequency_ = "年付";
remainingValue = purchasePrice / 365 * remainingDays;
break;
case "halfyearly":
paymentFrequency_ = "半年付";
remainingValue = purchasePrice / 180 * remainingDays;
break;
case "monthly":
paymentFrequency_ = "月付";
remainingValue = purchasePrice / 30 * remainingDays;
break;
case "two-yearly":
paymentFrequency_ = "二两付";
remainingValue = purchasePrice / (365 * 2) * remainingDays;
break;
case "three-yearly":
paymentFrequency_ = "三年付";
remainingValue = purchasePrice / (365 * 3) * remainingDays;
break;
case "five-yearly":
paymentFrequency_ = "五年付";
remainingValue = purchasePrice / (365 * 5) * remainingDays;
break;
}
const premium = tradePrice - remainingValue;
// Display results
document.getElementById("resultPurchasePrice").textContent = purchasePrice;
document.getElementById("resultPaymentFrequency").textContent = paymentFrequency_;
document.getElementById("resultRemainingValue").textContent = remainingValue;
document.getElementById("resultTradePrice").textContent = tradePrice;
document.getElementById("resultPremium").textContent = premium;
// Determine advice
let advice = "";
if (premium > 0) {
advice = "存在溢价,请君三思而后行";
} else if (premium < 0) {
advice = "卖家血亏,快买,错过拍断大腿!";
} else {
advice = "不议价,良心卖家!";
}
document.getElementById("resultAdvice").textContent = advice;
// Display calculation details
const calculationDetails = `
剩余月份:${remainingMonths} 个月(剩余天数:${remainingDays} 天)
剩余价值 = 历史购买价格 / ${paymentFrequency === 'yearly' ? 365 : (paymentFrequency === 'halfyearly' ? 180 : (paymentFrequency === 'quarterly' ? 90 : (paymentFrequency === 'monthly' ? 30 : (paymentFrequency === 'two-yearly' ? 730 : (paymentFrequency === 'three-yearly' ? 1095 : 1825)))))} * 剩余天数
剩余价值 = ${purchasePrice} / ${paymentFrequency === 'yearly' ? 365 : (paymentFrequency === 'halfyearly' ? 180 : (paymentFrequency === 'quarterly' ? 90 : (paymentFrequency === 'monthly' ? 30 : (paymentFrequency === 'two-yearly' ? 730 : (paymentFrequency === 'three-yearly' ? 1095 : 1825)))))} * ${remainingDays} = ${remainingValue}
`;
document.getElementById("calculationDetails").innerHTML = calculationDetails;
// Show the result section
document.querySelector(".result").style.display = "block";
}

666
帮顶
顶一个