如何在joyride中的post ride Callback中获取您的ID

时间:2013-12-03 02:41:48

标签: jquery zurb-joyride

我正在使用joyride plugin进行导游。我需要获取在ol函数中启动了兜风的旅游ID(postRideCallback标签ID)。这个函数只有indexcurrent_tip作为参数,我不知道如何在handlePostRideCall中获取ID,我已经研究过这个库,没有任何作用。

HTML:

/* Each tip is set within this <ol>. */
/* This creates the order the tips are displayed */
<ol id="joyRideTipContent">
  /* data-id needs to be the same as the parent it will attach to */
  <li data-id="newHeader">Tip content...</li>

  /* This tip will be display as a modal */
  <li>Tip content...</li>

  /* using 'data-button' lets you have custom button text */
  <li data-class="parent-element-class" data-options="tipLocation:top;tipAnimation:fade" data-button="Second Button">Content...</li>

  /* you can put a class for custom styling */
  <li data-id="parentElementID" class="custom-class">Content...</li>
</ol>

JS:

<script>
    $(window).load(function() {
        $('#joyRideTipContent').joyride({
            autoStart : true,
            postStepCallback : handlePostRideCall,
            modal:true,
            expose: true
        });
    });

    function handlePostRideCall(index, tip){
        // get ol ID here
    }
</script>

1 个答案:

答案 0 :(得分:1)

创建变量

var joyride_parent_id;

然后在tip_template : function (opts) {函数中,您可以获取父ol的ID并将其保存在我们上面定义的变量中

 joyride_parent_id = $(opts.li).parent().attr('id');

现在我们需要将它传递给回调函数,该函数在close事件触发时被调用

end : function () {
        .......
        if (settings.$li) {
          settings.postStepCallback(settings.$li.index(), settings.$current_tip);
          settings.postRideCallback(settings.$li.index(), settings.$current_tip, joyride_parent_id);
        }
        $('.joyride-modal-bg').hide();
      },