使用Javascript将slick-slider集成到Wordpress中

如何解决使用Javascript将slick-slider集成到Wordpress中

我对.js还是很陌生,现在我试图将.js滑块集成到Wordpress.v中。我试图让Slick-Slider在网站上工作。它在我的静态网页上可以正常工作,但是一旦我尝试将其迁移到Wordpress时,我便无法正常工作。不知道这是否是Wordpress中的冲突或我做错了什么。这是我在我的functions.php中注册我的js和css文件的方式-在浏览器中没有显示错误。

function mytheme_files() {

wp_enqueue_style('styles',get_theme_file_uri('/css/styles.css'));   
wp_enqueue_style('slick-css',get_theme_file_uri('/slick/slick.css'));   

wp_register_script('jquery','//https://code.jquery.com/jquery-3.5.1.js',NULL,'3.5.1',true);  
wp_enqueue_script('jquery_migrate',get_theme_file_uri('//https://code.jquery.com/jquery-migrate-3.3.1.min.js'),array(),true); 

    wp_enqueue_script('slick-js',get_stylesheet_directory_uri() . '/slick/slick.min.js',array('jquery'),true );   
    wp_enqueue_script('val-slider',get_stylesheet_directory_uri() . '/js/val-slider.js',true ) ; 


wp_enqueue_script('main',get_stylesheet_directory_uri() . '/js/custom.js',true ) ; 
       
}

add_action('wp_enqueue_scripts','mytheme_files');

?>

然后在一个单独的js文件中,我尝试使用以下代码注册滑块:

$(document).ready( function( ) {
$('.slideshow').slick({
    dots: true,infinite: true,speed: 300,slidesToShow:1,slidesToScroll: 10
});

我将为您提供任何建议!

标记

解决方法

我看到了一些尝试的方法。

首先,请确保将自定义js文件设置为具有“ slick-js”依赖项。这样,它会在滑动滑块完成之后加载

此外,jquery已经是wordpress的一部分,因此您不需要再次加入它。但是,对于您的自定义脚本和代码来说,都应该是依赖项:

wp_enqueue_script('main',get_stylesheet_directory_uri() . '/js/custom.js',array('slick-js','jquery'),NULL,true ) ; 

第二,我不确定val-slider是什么,但可能与光滑的滑块冲突。我建议仅使用一个javascript滑块作为主题。 Slick功能强大且可自定义,因此是一个不错的选择。

第三,光滑的滑块通常还具有您应该包括的theme-styles.css文件。这样会使滑块更漂亮,并在正确的位置放置箭头/点。

第四,我不确定您的HTML是什么样子,但是请确保类.slideshow的div是幻灯片的直接父级(通常是for或foreach循环。)是否还有另一个div然后在那儿,slick会将其解释为一张幻灯片。这是一个示例:

<div class="slideshow">
   <?php
   foreach($slides as $slide) {
     echo '<div class="slide">'; //this class name is unimportant
        //slide content here
     echo '</div>';
   };
   ?>
</div>

第五,不确定这是否是复制/粘贴错误,但是您在JavaScript中缺少结尾)};

最后,这不会打断光滑的滑块,但是可能会导致一些奇怪的事情发生;您有slidesToScroll: 10,但只显示一张幻灯片slidesToShow:1。我认为这是个好习惯。

,

非常感谢,现在终于可以了。我不知道的另一件事是,我用jQuery替换了$,所以我的custom.js看起来像这样:

    `jQuery('.slider').slick({
          arrows: false,slidesToShow: 1,slidesToScroll: 1,arrows: false,focusOnSelect: false,});`

现在它终于开始运行了

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?