2017-09-26 59 views
0

求助:https://jsfiddle.net/shovas/jzs1uz0d/19/我認爲我選錯了要拖動的元素。使Bootstrap Tour對話框可拖動

我該如何製作Bootstrap Tour對話框是否可拖動?

我想用jQuery UI的可拖動引導旅遊對話框但是當我打電話$('#dialog').draggable()似乎沒有任何改變。

+0

分享你的HTML代碼 –

+0

@ArunSharma,沒有html,它只是創建一個新的Tour,它可以工作,並使用onShown事件觸發,然後執行:$('。popover')。draggable()。 – Shovas

+0

如果我們能夠看到您旅程中的代碼,這將有所幫助。旅遊對象似乎從JSON巡視定義中接收到他們的ID,所以我很好奇「#dialog」是否是正確的選擇器。你是否嘗試過使用一個選擇器來定位一個旅遊對象共享的類,例如'.tour-tour'?此外,查看您的HTML代碼非常有用,因爲我們可以確定您已在''中包含所有必需的依賴關係,因爲這一切都取決於jQuery,jQuery UI,Bootstrap和Bootstrap Tour的存在。 – blendenzo

回答

0

我必須已經使用拖動錯誤的元素,因爲我得到了它在的jsfiddle第一工作,移植是我真正的代碼和它的工作:

https://jsfiddle.net/shovas/jzs1uz0d/19/

var tour = new Tour({ 
     element: '#step1', 
     name: 'tour', 
template: function (stepIndex, step) { 
     return "" + 
     "<div class='popover tour'>" + 
     "  <div class='arrow'></div>" + 
    " <div class='popover-header'>" + 
     " <h3 class='popover-title'></h3>" + 
    " </div>" + 
     " <div class='popover-content'></div>" + 
     "  <div class='popover-navigation'>" + 
    "   <button class='btn btn-default' data-role='prev'>« Prev</button>" + 
    "   <span data-role='separator'>|</span>" + 
    "   <button class='btn btn-default' data-role='next'>Next »</button>" + 
    " </div>" + 
     " <button class='btn btn-default' data-role='end'>End tour</button>" + 
       "</div>"; 
}, 
onShown: function (tour) { 
     console.log('onShown()') 
    var curStepIndex = tour.getCurrentStep(); 
    var curStep = tour.getStep(curStepIndex); 
    var targetElementSelector = tour._options.steps[curStepIndex].element; 
    var targetElement = $(targetElementSelector).get(0); 
    //$(targetElement).draggable(); 
    $('.popover.tour').draggable({ 
     handle: '.popover-header' 
    }); 
}, 
steps: [ 
     { 
         element: '#step1', 
         title: 'Step #1', 
    content: 'Lorem ipsum dolar sit amet Lorem ipsum dolar sit amet Lorem ipsum dolar sit amet Lorem ipsum dolar sit amet Lorem ipsum dolar sit amet Lorem ipsum dolar sit amet Lorem ipsum dolar sit amet.' 
    } 
] 
}); 
tour.init(); 
tour.start(); 

...snip...