我正在使用Rails,并设置了Joyride,并且回调工作正常,但是我想对其进行调整,以使其仅在用户完成巡视时才执行post_ride_callback
,而不是在中间取消时执行。根据他们的文档,看来我应该能够确定发生了哪些事情:
post_ride_callback : function (){}, // A method to call once the tour closes (canceled or complete)
http://foundation.zurb.com/docs/components/joyride.html
这是我现在在
application.js
中拥有的(有效的):$(document)
.foundation({joyride: {
pre_ride_callback: function() {
console.log('tour started');
send_tour_start_event_to_ga();
},
post_ride_callback: function() {
console.log('tour finished');
send_tour_complete_event_to_ga();
}
}}
)
.foundation('joyride', 'start');
我正在使用它来将事件发送到Google Analytics(分析),并且我希望能够跟踪启动游览的用户实际完成了多少%。关于如何仅在游览结束后才能运行post_ride_callback的任何想法?看来这个人可能正在做某事:https://github.com/zurb/joyride/pull/119
最佳答案
使用Foundation 4.3.2时,我遇到了同样的问题。我想加载其他网页以在第一个导览完成时显示一个新的导览,但是当用户关闭该导览时也会发生这种情况。
基本上,我所做的是在Foundation.joyride.js文件中的Templeate> Link上添加了一个新类(closeJoyride),因此我们可以控制该动作。
template : { // HTML segments for tip layout
link : '<a href="#close" class="closeJoyride joyride-close-tip">×</a>',
然后,当用户关闭游览时,您将触发一个函数:
$( ".closeJoyride" ).click(function() {
$(document).foundation('joyride', 'stop');
});
现在,您的post_ride_callback将仅在游览结束后起作用。我想这对Foundation 5也适用。
希望对您有帮助。
关于javascript - 如何仅在用户完成游览后才能使用Zurb Foundation Joyride乘车回叫功能?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23707691/