Мне нужно создать один слайдер линии для автоматического поворота списка h3.Содержимое слайдера автоигра jQuery
Я создал обертку и внутренние элементы. Теперь у меня есть функция, чтобы показать один элемент, скрыть все другое. После задержки я пытаюсь поймать следующий элемент и показать его.
Стараюсь
(function($) {
$(document).ready(function() {
function context(obj, func) {
return function() {
func(obj);
}
};
var bestNews = {
i: 0,
init: function(id) {
this.items = $(id);
this.item = this.items[this.i];
return this;
},
run: function() {
var next = context({
obj: this
}, function(data) {
data.obj.i++;
if (data.obj.i >= data.obj.items.length) {
data.obj.i = 0;
}
data.obj.item = data.obj.items[data.obj.i];
var next_run = context({
obj: data.obj
}, function(data) {
data.obj.run();
});
$(data.obj.item).show('drop', {
direction: 'left'
}, 1000, next_run);
});
$(this.item).delay(6000).effect('drop', {
direction: 'right'
}, 1000, next);
}
}
bestNews.init('.slideshoww h3').run();
});
})(jQuery);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="slideshoww">
<h3>Text 1</h3>
<h3>Text 2</h3>
<h3>Text 3</h3>
</div>
Но есть ошибка ...
Uncaught TypeError: $(...).delay(...).effect is not a function
Возможный дубликат (HTTP: // stackoverflow.com/questions/21991062/jquery-effect-is-not-a-function) – Pete