EDIT:MeteorPad demo here. (Ползунок должен работать, но он не должен показывать первое изображение, а только его изображение. и прежде всего на Safari или все, что не является Chrome), так что будьте осторожны).Изображение слайдера не отображается правильно, прежде чем они будут сохранены в кэше
EDIT: Ошибка в том, что первое изображение в слайдере отображается неправильно, а только его верх, пока вы не нажмете или не нажмете кнопку next/prev. Эта ошибка появляется только при загрузке изображений из источника базы данных, а не при использовании ползунка «обычно».
Я использую Ken Wheeler's Slick slider, и пока это лучшее, что я нашел, что это идет с довольно неприятной ошибкой, когда я хочу, чтобы загрузить изображения в each
цикли в том, что он показывает только верхний из них, пока не нажмет либо next/prev или перетащите на следующее изображение.
Моя коллекция имеет следующее поле:
"galleryImages": [
{
"name": "picture1",
"position": "first"
},
{
"name": "picture2",
"position": "second",
},
{
"name": "picture3",
"position": "last"
}
]
я использую gallery
как slick
контейнера:
<div class="gallery">
{{#each galleryImages}}
<div>{{> Images}}</div>
{{/each}}
</div>
<template name="Images">
<img src="{{imageUrlMaker name}}" alt="{{name}}">
</template>
imageUrlMaker
просто создает правильный URL для извлечения их, не вопрос.
И когда Images
визуализируется инициализирую бегунок:
Template.Images.onRendered(function() {
setTimeout(function() {
$('.gallery').slick({
arrows: true,
dots: true,
infinite: true,
mobileFirst: true,
adaptiveHeight: true
})
}, 100)
})
Причиной setTimeout
является то, что я считаю, это стирает некоторые времена слайдер инициализируется до загрузки изображения (по некоторым причинам).
Как я уже сказал, в первый раз, когда я посещаю страницу с изображениями, они не будут отображаться (только сверху) до тех пор, пока они не будут перетащены или не будут нажаты предыдущие/следующие кнопки. Или я могу перезагрузить страницу, и все будет работать.
Может кто-нибудь подумать об обходном пути или исправить, возможно, используя position: "last"
в некотором умном ключе? Может ли кто-нибудь выяснить почему эта ошибка показывает?
Будет легче помочь, если вы добавите JSFiddle –
@AsafDavid. Как именно вы хотите, чтобы я сделал скрипку, когда это зависит от большого количества кода Метеор? – Yeats
Здравствуйте, Йейтс, вы нашли решение? Если нет, я думаю, что знаю, что может это сделать. – TheWanderingMind