Maison > interface Web > js tutoriel > le corps du texte

Comment implémenter le défilement des sous-titres en Javascript

藏色散人
Libérer: 2021-06-18 11:49:27
original
4622 Les gens l'ont consulté

Comment implémenter le défilement des sous-titres en Javascript : créez d'abord des fichiers HTML et CSS ; puis définissez le conteneur sur une largeur fixe et masquez la partie en excès, enfin, créez un fichier js et modifiez la position via une minuterie.

Comment implémenter le défilement des sous-titres en Javascript

L'environnement d'exploitation de cet article : système Windows 7, version JavaScript 1.8.5, ordinateur Dell G3.

Comment implémenter le défilement des sous-titres en Javascript ?

Js natif pour implémenter le défilement des sous-titres

Utilisez CSS et JS natif pour implémenter les sous-titres Effet de défilement, connexion transparente

Effet

Comment implémenter le défilement des sous-titres en Javascript

Principe

Le conteneur est réglé sur une largeur fixe, la partie excédentaire est cachée, et la partie défilante est positionnée de manière absolue Et changez la position via la minuterie

pour obtenir la

  • partie html
<p class="scroll">
    <span>这里是要现实的滚动内容......</span>
 </p>
Copier après la connexion
  • partie css
.scroll {
  width: 400px;
  height: 23px;
  white-space: nowrap;
  overflow: hidden;
  margin-left: 40px;
  position: relative;
}
.scroll > span {
  position: absolute;
}
Copier après la connexion
  • partie js
// 字幕滚动变量
var scrollTime = null
var LEN = 400 // 一个完整滚动条的长度
var x = 0
// 启动滚动定时器
function roll () {
  console.log(&#39;启动&#39;)
  var tag1 = document.querySelector(&#39;.scroll>span&#39;)
  var tag2 = tag1.nextSibling
  var fun = function () {
    tag1.style.left = x + &#39;px&#39;
    tag2.style.left = (x + LEN) + &#39;px&#39;
    x = x - 5
    if ((x + LEN) === 0) {
      x = 0
    }
  }
  if (scrollTime) {
    clearInterval(scrollTime)
  }
  scrollTime = setInterval(fun, 300)
}
// 绑定鼠标事件
function bindMouseEvent () {
  var el = document.querySelector(&#39;.scroll>span&#39;)
  var el2 = el.cloneNode(true)
  LEN = el.clientWidth + 100 // 动态修改滚动条的长度,避免文字过多重叠
  el2.style.left = (x + LEN) + &#39;px&#39;
  el.parentElement.appendChild(el2)
  el.addEventListener(&#39;mouseenter&#39;, function (e) {
    clearInterval(scrollTime)
  })
  el.addEventListener(&#39;mouseleave&#39;, function (e) {
    roll()
  })
}
Copier après la connexion

Apprentissage recommandé : "tutoriel avancé javascript"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!