У меня возникли проблемы с куском кода (ниже и вытащил из https://stackoverflow.com/questions/31459832/randomise-and-order-divs-slick-js), который по существу рандомизирует набор слайдов для слайдера героя (с использованием slick.js). Этот конкретный фрагмент рандомизирует слайды, но сохраняет последний слайд по порядку в конце слайд-шоу.Bind/Detach/Append для функции Randomize
Часть, которая меня сбивает с толку, и часть, которая, я уверен, имеет отношение к моей проблеме, - это последовательность bind/detach/append. Я стараюсь сохранить первый слайд в начале, а не последний слайд на месте в конце. Я предполагаю, что оператор if должен проверять значение 0, а не длину массива-1 ... Путаница для меня - это, как уже упоминалось, bind/detach/append.
Если кто-то может пролить некоторый свет на направление, в котором я должен ехать, он будет очень признателен. Мой Javascript немного ржавый, так как я уверен, что вы можете сказать!
Большое спасибо заранее.
JJ
$.fn.randomize = function (selector) {
var $elems = selector ? $(this).find(selector) : $(this).children(),
$parents = $elems.parent();
$parents.each(function() {
$(this).children(selector).sort(function (childA, childB) {
// * Prevent last slide from being reordered
if($(childB).index() !== $(this).children(selector).length - 1) {
return Math.round(Math.random()) - 0.5;
}
}.bind(this)).detach().appendTo(this);
});
return this;
};
$('#carousel-hero .carousel-inner').randomize().slick({
speed: 3000,
dots: true,
fade: true,
autoplay: true,
autoplaySpeed: 3000,
prevArrow: '<button type="button" data-role="none" class="carousel-control left slick-prev">Previous</button>',
nextArrow: '<button type="button" data-role="none" class="carousel-control right slick-next">Next</button>',
});
}
удалили ответ, как вы предложили. Как я должен сообщить свой вопрос в будущем? Должен ли я задать другой вопрос на главной плате? – MediaCrush
В принципе, да. Но обратите внимание, чтобы не создавать «фальшивую тему форума», ссылаясь на более старый ваш вопрос, требуя, чтобы ваши читатели сначала поняли * это *. StackOverflow предназначен для того, чтобы задавать автономные вопросы, которые обеспечивают весь контекст, необходимый для понимания и ответа на них. В идеале ваш первый вопрос достаточно близок, чтобы ответ не приводил к ответу «но теперь я получаю разные ошибки», который быстро переходит в интерактивный сеанс отладки, который практически не имеет ценности для любого будущего посетителя потока. – Tomalak
Я смущен. Как я хотел попросить о помощи с ответом, не обращаясь к моему первоначальному вопросу. Я мог бы вставить код со всей страницы, но это было бы еще более раздражать, нет? Извините, что звучит как бесполезный noob. – MediaCrush