MODIFICA:MeteorPad demo here. (Il dispositivo di scorrimento dovrebbe funzionare ma non dovrebbe mostrare la prima immagine, ma solo un frammento di esso. e principalmente su Safari o tutto ciò che non è Chrome), quindi fate attenzione).Il cursore dell'immagine non mostra correttamente le mie immagini prima di essere memorizzate nella cache
MODIFICA: Il bug è che la prima immagine nel dispositivo di scorrimento non viene visualizzata correttamente, solo la parte superiore di esso, finché non si fa scorrere o si fa clic sul pulsante successivo/precedente. Questo bug si attiva solo se carichi le immagini da una sorgente di database, non quando usi il cursore "normalmente".
sto usando Ken Wheeler's Slick slider, e mentre è il migliore che ho trovato è dotato di una bella brutta bug quando voglio caricare le immagini in un ciclo each
in quanto mostra solo la parte superiore di loro fino a quando premo sia il pulsanti next/prev o trascina all'immagine successiva.
mia collezione ha il seguente campo:
"galleryImages": [
{
"name": "picture1",
"position": "first"
},
{
"name": "picture2",
"position": "second",
},
{
"name": "picture3",
"position": "last"
}
]
Io uso gallery
come il contenitore slick
:
<div class="gallery">
{{#each galleryImages}}
<div>{{> Images}}</div>
{{/each}}
</div>
<template name="Images">
<img src="{{imageUrlMaker name}}" alt="{{name}}">
</template>
Il imageUrlMaker
solo crea l'URL corretto per andare a prendere loro a, non è un problema.
E quando Images
è reso inizializzo il dispositivo di scorrimento:
Template.Images.onRendered(function() {
setTimeout(function() {
$('.gallery').slick({
arrows: true,
dots: true,
infinite: true,
mobileFirst: true,
adaptiveHeight: true
})
}, 100)
})
La ragione per la setTimeout
è che trovo cancella alcuni dei tempi del cursore inizializza prima che le immagini vengono caricate (per qualche motivo).
Come ho già detto, la prima volta che visito una pagina con immagini, queste non verranno visualizzate (solo la parte superiore) finché non vengono trascinate o si fa clic sui pulsanti prev/next. O potrei ricaricare la pagina e tutto funzionerà.
Qualcuno può pensare a una soluzione alternativa oa una soluzione, magari utilizzando position: "last"
in modo intelligente? Qualcuno può capire perché questo bug mostra?
Sarà più facile aiutare se aggiungi un JSFiddle –
@AsafDavid Come esattamente vuoi che faccia un giochetto di questo quando dipende da un sacco di codice Meteor? – Yeats
Ciao Yeats, hai trovato una soluzione? Altrimenti, penso di sapere cosa potrebbe causare questo. – TheWanderingMind