Rumah > hujung hadapan web > tutorial css > Bagaimanakah Gaya JavaScript Boleh Menggayakan Baris Teks Khusus Seperti `:baris pertama` CSS tetapi untuk Mana-mana Baris?

Bagaimanakah Gaya JavaScript Boleh Menggayakan Baris Teks Khusus Seperti `:baris pertama` CSS tetapi untuk Mana-mana Baris?

Barbara Streisand
Lepaskan: 2024-11-18 21:48:02
asal
309 orang telah melayarinya

How Can JavaScript Style Specific Lines of Text Like CSS's `:first-line` but for Any Line?

Memilih Baris Teks Tertentu dengan JavaScript

Bagaimanakah kita boleh menggayakan baris teks tertentu, serupa dengan unsur pseudo CSS :first-line , tanpa mengehadkannya kepada baris pertama sahaja?

Walaupun CSS sahaja tidak mencukupi untuk tugasan ini, JavaScript menawarkan penyelesaian.

Pelaksanaan JavaScript:

Kami boleh membungkus setiap perkataan dalam elemen span menggunakan JavaScript:

$(function(){ 
  var p = $('p'); 
  var words = p.text().split(' '); 
  var text = ''; 
  $.each(words, function(i, w){
                   if($.trim(w)) text = text + '<span>' + w + '</span> ' }
        ); //each word 
  p.html(text); 
Salin selepas log masuk

Untuk menentukan nombor baris bagi setiap span, kami menggunakan acara ubah saiz Tetingkap untuk mengira kedudukan menegak setiap span:

  $(window).resize(function(){ 

    var line = 0; 
    var prevTop = -15; 
    $('span', p).each(function(){ 
      var word = $(this); 
      var top = word.offset().top; 
      if(top!=prevTop){ 
        prevTop=top; 
        line++; 
      } 
      word.attr('class', 'line' + line); 
    });//each 

  });//resize 
Salin selepas log masuk

Menyerlahkan Baris Genap/Ganjil:

Untuk menyerlahkan baris genap/ganjil, kod boleh dipermudahkan kepada:

  $(window).resize(function(){ 

    $('span', p).each(function(){ 
      var word = $(this); 
      var top = word.offset().top; 
      var line = Math.floor(top / 20);
      word.attr('class', (line % 2 == 0 ? 'even' : 'odd'));
    });//each
  });//resize 
Salin selepas log masuk

Pertimbangan :

Kaedah ini mengandaikan bahawa perkataan tidak dibalut dalam baris yang sama dan perubahan dalam kelas boleh menjejaskan saiz atau lebar perkataan.

Contoh:

[Klik di sini](https://jsbin.com/piwizateni/1/edit?html,css,js,output) untuk demonstrasi yang berfungsi.

Atas ialah kandungan terperinci Bagaimanakah Gaya JavaScript Boleh Menggayakan Baris Teks Khusus Seperti `:baris pertama` CSS tetapi untuk Mana-mana Baris?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan