Ich habe Probleme, die Sichtbarkeit der Bootstrap Modal Divs zu verstehen und wann oder warum sie als sichtbar angezeigt werden, auch wenn sie ausgeblendet sind.Wie scroll-basierte Animationen mit JQuery arbeiten mit Bootstrap 3 Modals?
Normale Divs auf der Seite, außerhalb des Modal, funktionieren perfekt mit dem Code, den ich geschrieben habe.
...
Ich schrieb einige JS und CSS zu sagen: wenn ein Element mit .animation-element
in der Ansicht des Fensters ist, dann .in-view
hinzufügen, wenn nicht, entfernen .in-view
. Es sollte ziemlich einfach sein, und es ist, außer den divs innerhalb des modalen die .animation-element
IMMER zeigen, als, die Klasse .in-view
zu haben.
...
var $animation_elements = $('.animation-element');
var $window = $(window);
function check_if_in_view() {
var window_height = $window.height();
var window_top_position = $window.scrollTop();
var window_bottom_position = (window_top_position + window_height);
$.each($animation_elements, function() {
var $element = $(this);
var element_height = $element.outerHeight();
var element_top_position = $element.offset().top;
var element_bottom_position = (element_top_position + element_height);
//check to see if this current container is within viewport
if ((element_bottom_position >= window_top_position) &&
(element_top_position <= window_bottom_position)) {
$element.addClass('in-view');
} else {
$element.removeClass('in-view');
}
});
}
$window.on('scroll resize', check_if_in_view);
$window.trigger('scroll');
und
.animation-element {
opacity: 0;
}
.animation-element.in-view {
opacity: 1;
transition: 1s ease-in-out;
transition-delay: 0.2s;
}
Auch wenn das div mit dem data-target
für die modale nicht .in-view
nicht zeigen, weil sie aus dem Bildschirm Ansicht ist, jede div innerhalb des modalen mit Die Klasse .animation-element
hat die Klasse .in-view
. Ich habe alle Modal Divs ganz unten auf der Seite platziert und sie zeigen immer noch das gleiche Ergebnis.
ist hier ein Code Stift Beispiel: http://codepen.io/ethanethan/pen/MbbyoE
vielleicht versuchen, eine Marge-Top: -1000px zu den Modalen. Nicht sicher und möglicherweise nicht die beste Lösung –
Das hat immer noch nicht funktioniert. Ich denke, es hat mehr mit meinem JS zu tun. Entschuldigung, ich bin noch relativ neu mit JS und JQuery, aber ich weiß, dass es nicht mit CSS ist. – user122552
np. Wenn Sie irgendwo ein funktionierendes Beispiel erstellen können (jsfiddle, codepen etc.), bekommen die Leute ein klareres Bild und können mehr helfen. –