Search code examples
javascriptjqueryhtmlcssjssor

jssor Scrolling Logo/Thumbnail Slider won't start automatically on page load


Could you help me with jssoor Scrolling Logo/Thumbnail Slider please?

I did already implement it in my website for scrolling through "partners logos". Everything is working like a charm expect one thing. When I load the page, thumbnail slider shows only one icon/logo until I drag it to left or right slightly. Then the whole animation starts and required number of logos appear.

I am wondering what did I do wrong or what did I miss.

I did included required .js files. I don't know if this helps but this is my set up:

jQuery(document).ready(function ($) {
var options = {

$AutoPlay: true,//[Optional] Whether to auto play, to enable slideshow, this option must be set to true, default value is false
$AutoPlaySteps: 1,//[Optional] Steps to go for each navigation request (this options applys only when slideshow disabled), the default value is 1
$AutoPlayInterval: 1000,//[Optional] Interval (in milliseconds) to go for next slide since the previous stopped if the slider is auto playing, default value is 3000
$PauseOnHover: 0,//[Optional] Whether to pause when mouse over if a slider is auto playing, 0 no pause, 1 pause for desktop, 2 pause for touch device, 3 pause for desktop and touch device, 4 freeze for desktop, 8 freeze for touch device, 12 freeze for desktop and touch device, default value is 1
$SlideEasing: $JssorEasing$.$EaseLinear, //[Optional] Specifies easing for right to left animation, default value is $JssorEasing$.$EaseOutQuad
$SlideDuration: 500,//[Optional] Specifies default duration (swipe) for slide in milliseconds, default value is 500
$MinDragOffsetToSlide: 0,//[Optional] Minimum drag offset to trigger slide , default value is 20
$SlideWidth: 60,//[Optional] Width of every slide in pixels, default value is width of 'slides' container
$SlideHeight: 60,//[Optional] Height of every slide in pixels, default value is height of 'slides' container
$SlideSpacing: 60,//[Optional] Space between each slide in pixels, default value is 0
$DisplayPieces: 4,//[Optional] Number of pieces to display (the slideshow would be disabled if the value is set to greater than 1), the default value is 1
$ParkingPosition: 0,//[Optional] The offset position to park slide (this options applys only when slideshow disabled), default value is 0.
$UISearchMode: 1,//[Optional] The way (0 parellel, 1 recursive, default value is 1) to search UI components (slides container, loading screen, navigator container, arrow navigator container, thumbnail navigator container etc).
$PlayOrientation: 1,//[Optional] Orientation to play slide (for auto play, navigation), 1 horizental, 2 vertical, 5 horizental reverse, 6 vertical reverse, default value is 1
$DragOrientation: 1//[Optional] Orientation to drag slide, 0 no drag, 1 horizental, 2 vertical, 3 either, default value is 1 (Note that the $DragOrientation should be the same as $PlayOrientation when $DisplayPieces is greater than 1, or parking position is not 0)
};

var jssor_slider1 = new $JssorSlider$("slider1_container", options);
//responsive code begin
//you can remove responsive code if you don't want the slider scales while window resizes
function ScaleSlider() {
    var bodyWidth = document.body.clientWidth;
    if (bodyWidth)
        jssor_slider1.$ScaleWidth(Math.min(bodyWidth, 800));
    else
        window.setTimeout(ScaleSlider, 30);
}
ScaleSlider();

$(window).bind("load", ScaleSlider);
$(window).bind("resize", ScaleSlider);
$(window).bind("orientationchange", ScaleSlider);
//responsive code end
});

Thank you in advance.


Solution

  • Ok folks, here is the way how I did overcome the issue with the slider in my case. This thread and solution to it helped a lot! So I added that code for responsive scaling of the slider to width of parent element:

    var jssor_slider1 = new $JssorSlider$("slider1_container", options);
    
    //responsive code begin
    
    function ScaleSlider() {
    var parentWidth = jssor_slider1.$Elmt.parentNode.clientWidth;
    if (parentWidth)
        jssor_slider1.$ScaleWidth(Math.min(parentWidth, 1920));
    else
        window.setTimeout(ScaleSlider, 30);
    }
    ScaleSlider();
    
    $(window).bind("load", ScaleSlider);
    $(window).bind("resize", ScaleSlider);
    $(window).bind("orientationchange", ScaleSlider);
    //responsive code end
    
    • on the top of it I had to wrap the slider in another box with padding on the sides which helped to tidy it all up. This also helped to scale the slider inside of the column as I was getting "window slider" on the bottom of the page in particular resolution. Now it works like a charm. Finally. Thank you guys for your help and hits. Without that I wouldn't be able to manage this issue.