• 14-09-2024, 10:19:59
    #1
    Arkadaslar selamlar,

    Kaba taslak ilk hesaplamalari yaparken kullandigim bir html kodlama var. Faydasi olacagini dusunuyorum ihtiyaci olan arkadaslara. Paylasmak istedim.

    Kod su ise yariyor. Hangi aylarda calisacaksiniz o aylari seciyorsunuz, o aylarda pazar haric kac gun var onlarin toplam sayisini veriyor. Gunde kac saat calisacaksiniz onu giriyorsunzu ve saatlik uceri giriyorsunuz. Sliderdan da vergi icin kullanabileceginiz degerler mevcut, %25,%0,50, %75 gibi.

    Sonrasinda bunlarin carpimini veriyor deger.

    Ornek resimde mart ve haziran ayinda calisirsaniz, pazarlar haric calisacaginiz 51 gun var.Gunde 10 saat calisirsaniz ve saatlik 60$ ucretlendirirseniz, %25 vergi sonrasi kalacak miktar gozukuyor. (direk %75 ile carpiyor)

    Az cok faydasi olacaktir kullanacaklara.

    kodu burda da deneyebilirsiniz: https://jsfiddle.net/



    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Fiyat Hesaplama</title>
        <style>
            body {
                font-family: Arial, sans-serif;
                background-color: #f4f4f9;
                padding: 20px;
            }
            .container {
                max-width: 600px;
                margin: 0 auto;
                background-color: white;
                padding: 20px;
                border-radius: 8px;
                box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
            }
            h1 {
                text-align: center;
                color: #333;
            }
            label {
                display: block;
                margin: 10px 0 5px;
                color: #555;
            }
            .checkbox-group {
                display: flex;
                flex-wrap: wrap;
                justify-content: space-between;
            }
            .checkbox-group label {
                flex-basis: 48%;
                padding: 5px;
                margin-bottom: 10px;
                background-color: #e9ecef;
                border-radius: 4px;
                cursor: pointer;
            }
            input[type="number"], input[type="range"] {
                width: 100%;
                padding: 10px;
                margin-bottom: 20px;
                border: 1px solid #ccc;
                border-radius: 4px;
            }
            .slider-label, .result {
                font-weight: bold;
                color: #333;
            }
            .result {
                margin-top: 20px;
                text-align: center;
                font-size: 1.5em;
            }
            button {
                width: 100%;
                padding: 10px;
                background-color: #28a745;
                border: none;
                border-radius: 4px;
                color: white;
                font-size: 1em;
                cursor: pointer;
            }
            button:hover {
                background-color: #218838;
            }
            span {
                color: #555;
            }
        </style>
    </head>
    <body>
    
    <div class="container">
        <h1>Fiyat Hesaplama</h1>
    
        <label>Ay Seçimi:</label><br>
        <div id="month-checkboxes" class="checkbox-group">
            <label><input type="checkbox" value="0" onchange="updateDays()"> Ocak</label>
            <label><input type="checkbox" value="1" onchange="updateDays()"> Şubat</label>
            <label><input type="checkbox" value="2" onchange="updateDays()"> Mart</label>
            <label><input type="checkbox" value="3" onchange="updateDays()"> Nisan</label>
            <label><input type="checkbox" value="4" onchange="updateDays()"> Mayıs</label>
            <label><input type="checkbox" value="5" onchange="updateDays()"> Haziran</label>
            <label><input type="checkbox" value="6" onchange="updateDays()"> Temmuz</label>
            <label><input type="checkbox" value="7" onchange="updateDays()"> Ağustos</label>
            <label><input type="checkbox" value="8" onchange="updateDays()"> Eylül</label>
            <label><input type="checkbox" value="9" onchange="updateDays()"> Ekim</label>
            <label><input type="checkbox" value="10" onchange="updateDays()"> Kasım</label>
            <label><input type="checkbox" value="11" onchange="updateDays()"> Aralık</label>
        </div>
    
        <div>
            <span>Seçilen Ayların Pazar Hariç Toplam Gün Sayısı: </span>
            <span id="days-count">0</span>
        </div>
    
        <label for="input2">Günlük Çalışma Saati:</label>
        <input type="number" id="input2" placeholder="Çalışma saatini girin" step="any">
    
        <label for="input3">Saatlik Ücret ($):</label>
        <input type="number" id="input3" placeholder="Saatlik ücreti girin" step="any">
    
        <div class="slider-label">Çarpan Seçin:</div>
        <input type="range" id="slider" min="0.25" max="1" step="0.25" value="1" list="tickmarks">
        <datalist id="tickmarks">
            <option value="0.25" label="0.25"></option>
            <option value="0.50" label="0.50"></option>
            <option value="0.75" label="0.75"></option>
            <option value="1" label="1"></option>
        </datalist>
        <span id="slider-value">1</span>
    
        <div class="result" id="result">Sonuç: </div>
    
        <button onclick="calculate()">Hesapla</button>
    </div>
    
    <script>
        const slider = document.getElementById("slider");
        const sliderValue = document.getElementById("slider-value");
        slider.oninput = function() {
            sliderValue.textContent = this.value;
        }
    
        const daysCountElement = document.getElementById("days-count");
    
        function updateDays() {
            const checkboxes = document.querySelectorAll("#month-checkboxes input[type='checkbox']:checked");
            let totalDays = 0;
            checkboxes.forEach(checkbox => {
                const month = parseInt(checkbox.value);
                totalDays += getWeekdaysWithoutSundays(2025, month);
            });
            daysCountElement.textContent = totalDays;
        }
    
        function getWeekdaysWithoutSundays(year, month) {
            const date = new Date(year, month, 1);
            let totalDays = 0;
            while (date.getMonth() === month) {
                const dayOfWeek = date.getDay(); // 0 = Sunday, 6 = Saturday
                if (dayOfWeek !== 0) { // Skip Sundays
                    totalDays++;
                }
                date.setDate(date.getDate() + 1);
            }
            return totalDays;
        }
    
        function calculate() {
            const daysCount = parseFloat(daysCountElement.textContent);
            const workingHours = parseFloat(document.getElementById("input2").value);
            const hourlyRate = parseFloat(document.getElementById("input3").value);
            const multiplier = parseFloat(slider.value);
    
            if (!isNaN(daysCount) && !isNaN(workingHours) && !isNaN(hourlyRate)) {
                const result = daysCount * workingHours * hourlyRate * multiplier;
                document.getElementById("result").textContent = "Sonuç: " + result.toFixed(2) + " $";
            } else {
                document.getElementById("result").textContent = "Lütfen geçerli değerler girin.";
            }
        }
    
        // Sayfa ilk yüklendiğinde gün sayısını hesaplamak için
        window.onload = updateDays;
    </script>
    
    </body>
    </html>
  • 14-09-2024, 16:16:43
    #2
    🥇R10'un En İyi Ajansı 🥇
    Paylaşım için teşekkür ederiz