2016-06-07 1 views
0

я получил фиксированный элемент (потому что элемент должен оставаться фиксированным в определенном положении) с этими атрибутами:Как установить шаг IntroJS на фиксированный элемент?

style="position: fixed; width: 270px; right: 60px; height: 500px;" 

Всякий раз, когда я нажимаю через шаги introJS, было бы показать выделенную область немного от: enter image description here

Как я называю IntroJS:

var intro = introJs(); 
    var options_before = { 

    steps: [ 
     { 
     element: ".bar", 
     intro: "this is step 1" 
     }, 
     { 
     element: "div#fooId", 
     intro: "Why does step 2 look so weird?=" 
     } 
    ] 
    } 

    intro.setOptions(options_before); 
    intro.start(); 

Я попытался изменить положение (изменение top и margin attribut es) и изменить размер этого элемента, но выделенная область introJS никогда не будет соответствовать области, которую я хочу занять.

ответ

1

Дайте идентификатор для элемента и introJs шаги

шаги: [ { элемент: "#yourID", интро: "Ваше описание" } ]

Попробуйте это, прежде чем позвонить intro.start().

intro.onafterchange(function(targetElement) { 
    if(this._currentStep == 1){ 
     overlay = document.getElementsByClassName("introjs-fixedTooltip"); 
     for(i=0; i<overlay.length; i++) { 
      overlay[i].style.left = '10px'; 
      overlay[i].style.right = '10px'; 
      overlay[i].style.position = 'fixed'; 
      //Set css properties like this. 
     } 
    } 
}); 
+0

Это именно то, что я сделал, и оказалось, что я показал в своем вопросе. – thadeuszlay

+0

может быть выбрано «div # fooId». Посмотрите, работает ли отредактированный код для вас. – sudhirk496

+0

Он работает, но вам также нужно добавить «положение: исправлено», то есть «overlay [i] .style.position = 'fixed'; ' (В противном случае наложение теряет фокус, если вы нажмете следующую и предыдущую кнопку.) Если вы добавите это к своему ответу, я приму решение. – thadeuszlay

 Смежные вопросы

  • Нет связанных вопросов^_^