Virtually did not fix anything in the plugin, although the little bird wins at some points. Added only a crutch ( otherwise you will not name ), for your task. To begin with - here is a working example . Now I will explain.
- line 18 ( in the example ) - add: diffDelay: false ;
- line 174, 177, 179 - change setInterval and clearIterval to setTimeout and clearTimeout, respectively, and change options.delay to options.diffDelay? options.diffDelay [cIndex]: options.delay;
- line 171 - after slideMove (cIndex, 'next'); add, as in the example: timeOut = setTimeout (autoPlay, (options.diffDelay? options.diffDelay [cIndex]: options.delay));
In the plug-in connection options, we set the diffDelay parameter with an array of delay values for each slide separately. The number of values should be equal to the number of slides !!! In the example, I set the delay for the first slide to 3000, for the second 1000 and for the third - 8000. And note that if you set the diffDelay parameter, then the delay will simply be ignored.
UPD PS Although I thought that it was not necessary to make the number of values equal to the number of slides. Change everywhere (three pieces of code):
options.diffDelay ? options.diffDelay[cIndex] : options.delay // на следующее options.diffDelay[cIndex] ? options.diffDelay[cIndex] : options.delay
Now, if you need to set a delay for the first slide only, we write this:
$(your_elem_selector).smSlider({ autoPlay : true, duration : 500, diffDelay : [1000] }); // Только для второго слайда $(your_elem_selector).smSlider({ autoPlay : true, duration : 500, diffDelay : [null, 1000] }); // Для второго и четвертого слайда $(your_elem_selector).smSlider({ autoPlay : true, duration : 500, diffDelay : [null, 1000, null, 4000] }); // И так далее...