我正在尝试构建一个响应式轮播,并在以下代码中遇到错误。我尝试使用JQuery和其他选择方法,但它们都返回相同的错误。

我尝试在此处选择元素,首先访问其父元素

     var carousel = $('#carousel');
     var container = carousel.querySelector('.carousel-container');

关于代码返回和carousel.querySelector不是函数的ERROR。

这会产生问题,并且还会破坏下面的调整大小功能:
  function slideTo(index){
      index = index < 0 ? totalItems -1 : index >= totalItems ? 0 : index;
      container.style = container.style.transform = 'translate(-' + (index * percent) + '%, 0)';
       currentIndex = index;
   }

函数第三行中的Container.style返回一个错误,我无法在container.style上设置属性,因为它是“未定义”

我真的只需要能够将CSS“transform:translation”属性添加到容器元素。

我不知所措...非常感谢您的反馈!

最佳答案

querySelector是本机JS方法,而carouseljQuery对象。如果使用的是jQuery,则有0个理由使用queryselector

jQuery

var carousel = $('#carousel'); //jQuery object
var container = carousel.find('.carousel-container'); //jquery object of carousel-container

DOM
var domCarousel=carousel.find('.carousel-container')[0];

大致相当于
domCarousel=document.getElementById('carousel').querySelector('.carousel-container');

关于javascript - element.querySelector (“.exampleClass”)不是一个函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32675337/

10-11 13:35