jquery garis masa tidak teratur

WBOY
Lepaskan: 2023-05-23 12:37:06
asal
628 orang telah melayarinya

garis masa jquery tidak teratur

Garis masa ialah cara biasa untuk memaparkan data, biasanya digunakan untuk menunjukkan perkembangan topik tertentu atau susunan kronologi peristiwa. Dalam pembangunan bahagian hadapan, kita boleh menggunakan jQuery untuk melaksanakan garis masa yang tidak teratur Mengambil proses pembangunan topik tertentu sebagai contoh, berikut adalah langkah-langkah untuk melaksanakannya.

1. Bina data

Pertama, kita perlu membina satu set data untuk memaparkan setiap nod pada garis masa. Data hendaklah termasuk tajuk, kandungan, gambar dan maklumat lain bagi setiap nod, serta cap waktu yang sepadan dengan setiap nod. Contohnya:

var data = [
  {
    title: '起点',
    content: '从这里开始',
    image: 'image/start.png',
    timestamp: 1559347200
  },
  {
    title: '道路漫漫',
    content: '前方路程尚需努力',
    image: 'image/road.png',
    timestamp: 1561939200
  },
  {
    title: '小有成就',
    content: '终于开始发光发热了',
    image: 'image/achievement.png',
    timestamp: 1564617600
  },
  ...
];
Salin selepas log masuk

2. Kira kedudukan nod

Seterusnya, kita perlu mengira kedudukan setiap nod pada garis masa. Memandangkan garis masa ini adalah garis masa yang tidak teratur, adalah perlu untuk mempertimbangkan kedudukan yang berbeza bagi setiap nod. Kita boleh menggunakan formula berikut untuk mengira kedudukan nod pada garis masa:

position = (timestamp - minTimestamp) / (maxTimestamp - minTimestamp) * (maxPosition - minPosition) + minPosition;
Salin selepas log masuk

di mana, minTimestamp dan maxTimestamp mewakili cap masa minimum dan maksimum dalam data minPosition dan maxPosition mewakili Kedudukan paling kiri dan paling kanan garis masa position mewakili kedudukan nod pada garis masa.

3. Render nod

Sekarang kita telah memperoleh kedudukan setiap nod pada garis masa, langkah seterusnya ialah untuk memaparkan nod ke halaman. Kita boleh menggunakan kod berikut untuk memaparkan setiap nod:

$.each(data, function(index, item) {
  var position = (item.timestamp - minTimestamp) / (maxTimestamp - minTimestamp) * (maxPosition - minPosition) + minPosition;

  var node = $('<div class="node">' +
    '<div class="node-title">' + item.title + '</div>' +
    '<div class="node-body">' +
    '<img src="' + item.image + '">' +
    '<p>' + item.content + '</p>' +
    '</div>' +
    '</div>');

  node.css('left', position + 'px');

  $(".timeline").append(node);
});
Salin selepas log masuk

Dalam kod di atas, kami mula-mula menggunakan kaedah $.each() untuk melintasi tatasusunan data, dan kemudian mengira kedudukan setiap nod pada garis masa. Seterusnya, kami menggunakan kaedah $() untuk mencipta nod dan menetapkan gaya dan kandungan nod. Akhir sekali, tambahkan nod pada halaman.

4. Laksanakan acara klik nod

Akhir sekali, kami boleh melaksanakan acara klik nod untuk mengembangkan atau meruntuhkan kandungan nod. Untuk pelaksanaan khusus, sila rujuk kod berikut:

$(".node").click(function() {
  var body = $(this).children(".node-body");
  if(body.is(":visible")) {
    body.slideUp();
  } else {
    body.slideDown();
  }
});
Salin selepas log masuk

Dalam kod di atas, kami menggunakan kaedah .click() untuk menambah fungsi pemprosesan acara klik pada nod Apabila nod diklik, ia dinilai sama ada kandungan nod telah dikembangkan. Jika ia telah dikembangkan, gunakan kaedah .slideUp() untuk meruntuhkannya; jika tidak, gunakan kaedah .slideDown() untuk mengembangkannya.

Pada ketika ini, kami telah berjaya melaksanakan garis masa mudah yang tidak teratur. Dalam aplikasi praktikal, lebih banyak butiran interaksi dan kandungan pengoptimuman perlu dipertimbangkan.

Atas ialah kandungan terperinci jquery garis masa tidak teratur. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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