diff --git a/docs/demos.js b/docs/demos.js index a03cf825b..7c6d7f910 100644 --- a/docs/demos.js +++ b/docs/demos.js @@ -32,6 +32,7 @@ import CustomPaging from "../examples/CustomPaging"; import CustomSlides from "../examples/CustomSlides"; import AsNavFor from "../examples/AsNavFor"; import AppendDots from "../examples/AppendDots"; +import CustomSliderContainer from "../examples/CustomSliderContainer"; export default class App extends React.Component { render() { @@ -59,6 +60,7 @@ export default class App extends React.Component { + diff --git a/examples/CustomSliderContainer.js b/examples/CustomSliderContainer.js new file mode 100644 index 000000000..8a12ae08e --- /dev/null +++ b/examples/CustomSliderContainer.js @@ -0,0 +1,40 @@ +import React, { Component } from "react"; +import Slider from "../src/slider"; + +export default class CustomSliderContainer extends Component { + render() { + const settings = { + dots: true, + slide: "section", + infinite: true, + speed: 500, + slidesToShow: 1, + slidesToScroll: 1 + }; + return ( +
+

Custom Slider Container

+ +
+

1

+
+
+

2

+
+
+

3

+
+
+

4

+
+
+

5

+
+
+

6

+
+
+
+ ); + } +} diff --git a/src/inner-slider.js b/src/inner-slider.js index 7cbdb27ad..97348de96 100644 --- a/src/inner-slider.js +++ b/src/inner-slider.js @@ -304,7 +304,8 @@ export class InnerSlider extends React.Component { }; checkImagesLoad = () => { let images = - (this.list && this.list.querySelectorAll && + (this.list && + this.list.querySelectorAll && this.list.querySelectorAll(".slick-slide img")) || []; let imagesCount = images.length, @@ -643,7 +644,7 @@ export class InnerSlider extends React.Component { "targetSlide", "useCSS" ]); - const { pauseOnHover } = this.props; + const { pauseOnHover, slide = "div" } = this.props; trackProps = { ...trackProps, onMouseEnter: pauseOnHover ? this.onTrackOver : null, @@ -749,8 +750,11 @@ export class InnerSlider extends React.Component { listProps = { className: "slick-list" }; innerSliderProps = { className }; } - return ( -
+ + return React.createElement( + slide, + innerSliderProps, + <> {!this.props.unslick ? prevArrow : ""}
@@ -759,7 +763,7 @@ export class InnerSlider extends React.Component {
{!this.props.unslick ? nextArrow : ""} {!this.props.unslick ? dots : ""} -
+ ); }; }