我正在使用 Joyride,我试图在它开始之前,在第一步之后,然后在它结束之后触发一个函数。
我认为这就是我应该实现的方式:
$("#ic-instructions").joyride({
pre_ride_callback : joyRideDim(),
post_step_callback : joyRideNext(),
post_ride_callback : joyRideOver(),
tip_animation : 'fade',
autoStart : true
});
这些就是我所说的函数的样子:
function joyRideDim(){
$('#ic-spacetemp').css({ 'box-shadow' : '0 0 20px rgba(81, 203, 238, 1)' });
}
function joyRideNext(){
$('#ic-spacetemp').css({ 'box-shadow' : 'none' });
$('#help-tip').css({ 'box-shadow' : '0 0 20px rgba(81, 203, 238, 1)' });
}
function joyRideOver() {
$('.ic-joyride-dim').css({' display' : 'none'});
$('#help-tip').css({'box-shadow' : 'none' });
}
这是joyride工具提示所在的元素:
<ol id="ic-instructions" style="display: none;"data-joyride>
<li class="ic-instruct" data-button="OK, got it." data-id="ic-spacetemp">Enter the values of your own refrigeration system to calculate how much IntellFrost could save you in defrost costs.</li>
<li class="ic-instruct" data-options="nubPosition: top-right;" data-button="OK, I'm ready to calculate." data-id="help-tip">If you aren't sure what a certain input is, hover over the "i" icon for an explanation</li>
</ol>
最终发生的情况是,这 3 个功能似乎同时触发。所以我最终在任何东西上都没有盒子阴影。如果我删除“post_step_callback”和“post_ride_callback”选项,那么它只会添加 box-shadow,但它永远不会将其移除。这是有道理的。似乎我的 post_step 和 post_ride 函数都是同时发生的。有谁知道为什么?