Bagaimana untuk melaksanakan fungsi pemilih tarikh menggunakan JavaScript?

WBOY
Lepaskan: 2023-10-20 16:54:19
asal
1194 orang telah melayarinya

如何使用 JavaScript 实现日期选择器功能?

Bagaimana untuk melaksanakan fungsi pemilih tarikh menggunakan JavaScript?

【Pengenalan】
Pemilih tarikh ialah salah satu fungsi biasa dalam pembangunan web, yang boleh memberikan pengguna cara yang mudah dan pantas untuk memilih tarikh. Artikel ini menerangkan cara melaksanakan pemilih tarikh mudah menggunakan JavaScript dan menyediakan contoh kod terperinci.

[Langkah pelaksanaan]

1 Struktur HTML
Mula-mula, tambahkan kotak input dan butang pada HTML untuk mencetuskan tetingkap timbul pemilih tarikh.

<input type="text" id="dateInput">
<button type="button" onclick="showDatePicker()">选择日期</button>
Salin selepas log masuk

2. Gaya CSS
Untuk menjadikan tetingkap pop timbul pemilih tarikh dipaparkan dengan cantik, anda boleh menambah beberapa gaya padanya.

#datePicker {
  position: absolute;
  background-color: #fff;
  padding: 10px;
  border: 1px solid #ccc;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  z-index: 9999;
}
Salin selepas log masuk

3. Pelaksanaan JavaScript
Seterusnya, gunakan JavaScript untuk melaksanakan fungsi pemilih tarikh.

// 获取日期选择器弹窗和日期输入框元素
var datePicker = document.createElement("div");
datePicker.setAttribute("id", "datePicker");
var dateInput = document.getElementById("dateInput");

// 显示日期选择器弹窗
function showDatePicker() {
  // 获取输入框位置和大小
  var rect = dateInput.getBoundingClientRect();
  
  // 设置日期选择器弹窗位置
  datePicker.style.left = rect.left + "px";
  datePicker.style.top = (rect.top + rect.height) + "px";
  
  // 清空日期选择器弹窗内容
  datePicker.innerHTML = "";
  
  // 创建日期选择器表格
  var table = document.createElement("table");
  
  // 创建表头
  var thead = document.createElement("thead");
  var tr = document.createElement("tr");
  var th = document.createElement("th");
  th.textContent = "日";
  tr.appendChild(th);
  // ...省略其他表头代码...
  thead.appendChild(tr);
  table.appendChild(thead);
  
   // 创建日期选择器内容(示例为一个月的数据)
  var tbody = document.createElement("tbody");
  for (var i = 1; i <= 30; i++) {
    var tr = document.createElement("tr");
    for (var j = 1; j <= 7; j++) {
      var td = document.createElement("td");
      td.textContent = i + (j - 1) * 7;
      tr.appendChild(td);
    }
    tbody.appendChild(tr);
  }
  table.appendChild(tbody);
  
  // 将日期选择器表格添加到弹窗
  datePicker.appendChild(table);
  
  // 将日期选择器弹窗添加到页面
  document.body.appendChild(datePicker);
}

// 隐藏日期选择器弹窗
function hideDatePicker() {
  // 判断点击事件是否在日期选择器内部,是则不隐藏
  var clickInside = false;
  var e = window.event;
  var target = e.target;
  while (target.parentNode) {
    if (target.parentNode === datePicker) {
      clickInside = true;
      break;
    }
    target = target.parentNode;
  }
  if (!clickInside) {
    document.body.removeChild(datePicker);
  }
}

// 点击页面其他地方时隐藏日期选择器弹窗
document.addEventListener("click", hideDatePicker);
Salin selepas log masuk

【Cara menggunakan】
Salin kod di atas ke dalam fail HTML dan simpannya, kemudian buka fail itu dalam penyemak imbas. Klik butang "Pilih Tarikh" dan tetingkap pop timbul pemilih tarikh akan muncul. Klik di tempat lain pada halaman dan tetingkap pop timbul akan bersembunyi secara automatik.

【Ringkasan】
Tidak sukar untuk melaksanakan fungsi pemilih tarikh yang mudah melalui JavaScript Anda hanya perlu mencipta elemen, menetapkan gaya dan pendengar acara secara dinamik. Pembangun boleh menyesuaikan dan melanjutkan pemilih tarikh mengikut keperluan sebenar untuk menjadikannya lebih sesuai untuk keperluan projek. Ingat, memastikan kebolehbacaan dan kebolehselenggaraan kod serta menambah baik pengalaman pengguna adalah salah satu matlamat penting dalam proses pembangunan.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi pemilih tarikh menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!