光滑的滑块工作正常,但在控制台中出现不必要的错误 [我想解决它]

Posted

技术标签:

【中文标题】光滑的滑块工作正常,但在控制台中出现不必要的错误 [我想解决它]【英文标题】:Slick slider working fine,But gives an unwanted error in console [and i want to resolve it] 【发布时间】:2019-07-04 18:19:02 【问题描述】:

我在我的网站主页上使用了多个光滑的滑块:- https://superlivery.anant.bestech.4demo.biz/

但我得到一个错误:-

未捕获的类型错误:无法读取 null 的属性“添加”

看不到因此而发生的任何问题,因为滑块似乎工作正常。

但我还是想解决这个问题。

我尝试了这个给定线程的解决方案,但它对我不起作用:-

Error in slick.js: “Uncaught TypeError: Cannot read property 'add' of null”

我的一个精巧代码[在主页上应用的多个]:-

$('.site-caraousel--onesixth-js').slick(
    slidesToShow: 6,
    slidesToScroll: 1,
    infinite: false,
    arrows: true,
    prevArrow: '<a data-role="none" class="slick-prev" aria-label="Previous"><span></span></a>',
    nextArrow: '<a data-role="none" class="slick-next" aria-label="Next"><span></span></a>',
    responsive: [

        
            breakpoint: 1200,
            settings: 
                slidesToShow: 5,
            
        ,
        
            breakpoint: 1023,
            settings: 
                slidesToShow: 3,
            
        ,
        
            breakpoint: 767,
            settings: 
                slidesToShow: 3,
            
        ,
        
            breakpoint: 500,
            settings: 
                slidesToShow: 2,
            
        ,
        
            breakpoint: 360,
            settings: 
                slidesToShow: 1,
            
        
    ]
);

注意:-由于存在多个代码,我无法找出导致问题的光滑代码。

我尝试通过单击控制台中的错误链接来调试代码,但它导致我出现 slick.min.js 代码,我无法在那里调试问题。

【问题讨论】:

网站链接未加载,请您更正一下 已更正。请检查 现在显示“无法访问此站点” 从文档就绪的浏览器控制台中调试并检查哪个滑块功能导致此错误。在 chrome 开发人员工具中,我们也可以调试 min.js 文件。先找到问题的根源,然后才能解决。还要单击错误,以便找到问题的根源。 @VinodkumarG 和 Suresh 我知道,这个网站在我的本地服务器上[抱歉混淆],我通过控制台进行了调试,但它把我带到了一些 min.js 文件的代码。我很快就会添加屏幕截图。 【参考方案1】:

当我尝试“再一次”更新或创建光滑对象时,它发生在我身上。例如在使用 ajax 请求添加新内容之后。

您需要在创建之前检查滑块是否已经创建。像这样的东西:

let jqObject = $('.site-caraousel--onesixth-js');
if (!jqObject.hasClass('slick-slider')) 
  jqObject.slick(
    // your slick options
  );


// Or by checking 'slick-initialized' class. It depends on your code / version.

let jqObject = $('.site-caraousel--onesixth-js');
if (!jqObject.hasClass('slick-initialized')) 
  jqObject.slick(
    // your slick options
  );


//and probably need to add check if jqObject is have something on the page.

【讨论】:

实际上它尝试了它,我也尝试了它的不同变体[我在我的问题中发布的内容]。但这对我不起作用。仍然感谢您的回答。+1【参考方案2】:

最后我得到了问题,它们是:-

1.slick初始化代码在不同页面上多次调用。

2.在某些页面上slick.js没有加载。

3.在某些页面上,在 id 基础上完成了流畅的初始化,并且相同的 id 重复了多次。

纠正这三个问题后,现在一切正常。

谢谢

【讨论】:

以上是关于光滑的滑块工作正常,但在控制台中出现不必要的错误 [我想解决它]的主要内容,如果未能解决你的问题,请参考以下文章

光滑的滑块 - css 过渡无限循环错误

光滑的滑块箭头在响应模式下表现得像幻灯片

光滑的滑块视频复制

光滑的滑块拇指没有显示

jQuery 光滑的滑块过滤器

Iphone上的滑块崩溃程序,但在模拟器上工作