当前位置: 首页 > 知识库问答 >
问题:

轮播引导程序5:JQuery到Javascript

邹海超
2023-03-14

我需要一个bootstrap 5轮播,显示多个项目和滑动一次(纯javascript)。

我发现这个codeply解决方案完成了这项工作,它是轻巧、易懂、简短的css和Jquery代码。所以这正是我所需要的,只是它有Jquery depencendy。

我所需要的只是将Jquery代码转换为纯JavaScript。

到目前为止,由于我缺乏知识,唯一的解决办法是在我的身边,它不崩溃,直到这里。一旦代码完全转换为Javascript,它就应该可以工作,就像它可以使用jQuery一样。

jQuery

$('.carousel .carousel-item').each(function() {
    var minPerSlide = 4;
    var next = $(this).next();
    if (!next.length) {  next = $(this).siblings(':first');  }
    next.children(':first-child').clone().appendTo($(this));
    for (var i = 0; i < minPerSlide; i++) {
        next = next.next();
        if (!next.length) { next = $(this).siblings(':first'); }
        next.children(':first-child').clone().appendTo($(this));
    }
});

JavaScript

document.querySelectorAll('.carousel .carousel-item').forEach(function (item) {
    alert('Hello world');
    //var content = item.innerHTML;
    //item.innerHTML=html;
});

编辑:(重要)

我只需要翻译使用$(this)的部分,即Jquery部分...例如:$(this).next();我需要纯javascript的相同行,

共有1个答案

查学文
2023-03-14

试试我对你发布的代码的分叉

https://www.codePley.com/p/tn7rystiwu

const indexInParent node => {
  const children = node.parentNode.childNodes;
  let num = 0;
  for (let i = 0; i < children.length; i++) {
    if (children[i] == node) return num;
    if (children[i].nodeType == 1) num++;
  }
  return -1;
}

document.getElementById('carouselExample').addEventListener('slide.bs.carousel', function(e) {

  /*

  CC 2.0 License Iatek LLC 2018
  Attribution required
    
  */

  var $e = e.relatedTarget;

  const idx = indexInParent($e)
  console.log("IDX :  " + idx);

  const itemsPerSlide = 8;
  const allItems = document.querySelectorAll('.carousel-item')
  const totalItems = allItems.length;
  const parentContainer = document.querySelector('.carousel-inner');


  if (idx >= totalItems - (itemsPerSlide - 1)) {
    const it = itemsPerSlide - (totalItems - idx);
    for (let i = 0; i < it; i++) {
      // append slides to end
      if (e.direction == "left") {
        parentContainer.appendChild(allItems[i])
      } else {
        parentContainer.appendChild(allItems[0]);
      }
    }
  }
});
 类似资料:
  • 问题内容: 嗨,我正在尝试使用bootstrap在我的wordpress网站上制作轮播。我想在其旁边放置四个块链接。我在那里有块,图像滚动良好,但是我相信轮播会改变图像的高度。 我有图像(640 x 360),并且将4个块设置为90像素高。我这样做是为了使块与转盘底部齐平。除了块太大。我不明白这可能是什么问题。而且我搜索了所有CSS。 这是我的代码: 问题答案: 调整图像大小的原因是因为它流动。您

  • 我正在用bootstrap 5制作一个整洁的图库,我想知道如何在不使用“data-bs-...”的情况下触发一个bootstrap模式。在我的HTML中(以避免重复这些数据属性50次)。 我设法为源代码获取了完整的功能javascript,但.modal()函数和.show()函数似乎不起作用。事情是这样的: 我在最后这一行javascript上受阻了。目标:触发#GalleryModal。 感谢

  • 本文向大家介绍jQuery文字轮播特效,包括了jQuery文字轮播特效的使用技巧和注意事项,需要的朋友参考一下 闲谈:离开学校那座象牙塔已经也有大半年的事件了,生活中不再充满了茫然只有忙碌。连续加班加点大半个月,做的活动项目终于算是告一段落了,而今天也将是考验其真正价值的时候,现在将这次开发中遇到的问题做一下总结。 项目背景: 这次的项目主要是做一次全国酒店人气排名的营销活动,主要是基于在微信中传

  • 本文向大家介绍jQuery实现大图轮播,包括了jQuery实现大图轮播的使用技巧和注意事项,需要的朋友参考一下 css样式: js代码规范: 主体代码: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!

  • 本文向大家介绍Jquery轮播效果实现过程解析,包括了Jquery轮播效果实现过程解析的使用技巧和注意事项,需要的朋友参考一下 轮播是学习jquery开始的第二个实现的动效,也是学习时间最久的一个。在实现轮播的过程中总是会遇到各种各样的问题,请教过很多人,也多次问过度娘。今天,也不敢果敢的说,可以马上写好一个轮播。希望是通过随笔的方式,记录下一些思维过程。 首先是html结构,一个简单的轮播,单张

  • 问题内容: 经过7天的搜索,在尝试了不同的解决方案后又无法正常工作之后,我想问一下:我有一个包含js原型,protaplasm和scriptaculous以及jquery和Jquery- ui的页面,并且它与jquery完美地结合在一起冲突,直到我最近使用Bootstrap下载设计,然后才遇到麻烦。原型js功能不再有效。原型js的ajax更新和脚本般的inplaceeditor不再起作用。我已经尝