【发布时间】:2017-03-24 16:53:39
【问题描述】:
我对航路点有点熟悉,并尝试将其设置为适用于以下项目。
我试图在用户单击选项 2 的单选按钮后显示 #bundler-offer。蓝色 div #bundle-offer 应该淡入,但是航点在页面加载时注册 - 正如您在控制台。
当#review-main 在视野中时,我需要做什么才能显示航点?
var package1 = $('#package1');
var package2 = $('#package2');
$('.product').on('change', function() {
if (package1.is(':checked')) {
console.log("Option - Package 1");
$('#pack2-details').hide();
$('#pack1-details').show();
} else if (package2.is(':checked')) {
console.log("Option - Package 2");
$('#pack2-details').show();
$('#pack1-details').hide();
}
});
$('#review-main').waypoint(function() {
// handler: function(direction) {
$('#bundle-offer').addClass('fadeUp');
console.log('Scrolled to waypoint!');
}, {
offset: '100%'
});
.check {
display: none;
}
.wrap {
background: green;
height: 600px;
width: 100%;
}
#bundle-offer {
position: fixed;
bottom: -120px;
left: 0;
right: 0;
width: 100%;
height: 120px;
background: blue;
opacity: 0;
transition: all 0.5s ease;
}
#bundle-offer.fadeUp {
opacity: 1;
transition: all 0.5s ease;
bottom: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js"></script>
<label>Option 1</label>
<input type="radio" class="product" id="package1">
<label>Option 2</label>
<input type="radio" class="product" id="package2">
<div id="pack1-details" class="check">
<p>Package 1</p>
<div class="wrap" id="pack1-details">
Package 1 showing
</div>
</div>
<div id="pack2-details" class="check">
<p>Package 2</p>
<div class="wrap" id="pack2-details">
Package 2 showing
<div id="review-main">
<div id="bundle-offer">Working IF fading in</div>
</div>
</div>
</div>
【问题讨论】:
-
@RaxWeber 我正在使用航点?这世界上怎么可能是重复的?我有一个详细的问题。
-
@RaxWeber 我刚刚尝试使用您提到的问题中的解决方案。问题仍然存在......当 div 处于视图中时,蓝色框
#bundler-offer不会启动。 jsfiddle.net/hvskg9s3 ...... 它仍然在实际显示之前显示 div id。 -
@RaxWeber - 我不认为这是重复的(不知道你为什么会这样想),但问题的解决方案在 SO here 的其他地方都有介绍
标签: javascript jquery scroll jquery-waypoints