我试图编写一个代码,当打开引导模式时,会在滚动到每个元素时触发zoomIn动画。
jsFiddle Link - https://jsfiddle.net/nwxLq2zg/1/
以下是示例代码 -
<!-- Button trigger modal -->
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
Launch demo modal
</button>
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
...
</div>
</div>
</div>
</div>
的jQuery
$('#myModal').on('show.bs.modal', function () {
$(".modal-body").unbind("scroll");
$(".modal-body").scroll(function(){
var mScroll = $(this).scrollTop();
$('.modal-body p').each(function(){
var eTop = $(this).offset().top;
console.log('Modal:'+mScroll+'| Element:'+eTop);
if(eTop > mScroll) {
$(this).addClass('animated zoomIn');
}
});
});
});
问题是无论滚动值如何都会向所有元素触发addClass。我怀疑这是因为我的代码无法识别个别&#34;&lt; p&gt;&#34;标签。如果有人能找到答案,那将非常有帮助。
可在此jsFiddle - https://jsfiddle.net/nwxLq2zg/1/
中找到实际代码答案 0 :(得分:0)
我尝试使用<=
mScroll并添加-50 on top offset
检查这个小提琴。
https://jsfiddle.net/nwxLq2zg/5/
$('#myModal').on('show.bs.modal', function () {
$(".modal-body").unbind("scroll");
$(".modal-body").scroll(function(){
var mScroll = $(this).scrollTop();
$('.modal-body p').each(function(){
var eTop = $(this).offset().top - 50;
if(eTop <= mScroll) {
$(this).addClass('animated zoomIn');
}
});
});
});
答案 1 :(得分:0)