2013-11-19 3 views
14

Я использую bootstrap для UI Design. Я настроил обновленный IntroJS на свой сайт. Теперь он отлично работает с другими элементами, но создает проблемы с выпадающими элементами меню.IntroJS Bootstrap Меню не работает

problem in IntroJS with Bootstrap

+0

Можете ли вы включить свой код и создать bootply.com, демонстрирующий проблему? – Trevor

+0

см. Здесь: http://stackoverflow.com/questions/22433675/use-intro-js-on-bootstrap-dropdown-element –

+0

@GaneshBhosale вам нужно показать код. Другая проблема связана с другой проблемой http://stackoverflow.com/a/25732066/2103767 – bhantol

ответ

-1

У меня была такая же проблема, и мне удается решить ее, я отправил объяснение есть:

use intro.js on bootstrap dropdown element

Надежда это поможет.


EDIT: Добавлен фрагмент кода и объяснения от ссылки

Я нашел обходной путь, это очень некрасиво, но делает работу:

$scope.ChangeEvent = function (e) { 
    if (e.id === 'step2') { 
     document.getElementById('step1').click(); 
     setTimeout(function() { 
      document.getElementById('step2').style.display = 'block'; 
     }, 500); 
    } 
    console.log("Change Event called"); 
}; 

Я установить атрибут дисплея блок сразу после события клика, которое я добавил в событии изменения

При нажатии на щелчок на элементе 1 я заметил что jquery задает состояние стиля. Отображение элемента 2 в '', поэтому я немного подождаю, щелкнув, чтобы вернуть его в блок, я знаю, что это уродливо, но я не нашел ничего лучше в время

+0

В этом случае ссылка на другую страницу SO, так что это не должно быть проблемой, но это требуется дополнительный и абсолютно не необходимый шаг навигации, поэтому я редактирую сообщение, чтобы включить соответствующий код, поскольку он кажется правильным и полезным ответом – Devin

+0

ОК, чтобы сказать правду, поскольку мой вопрос не был ответом, я не мог дать окончательного ответа. Вместо этого я бы включил привязку к моей странице вопросов. –

2

эй люди убедитесь ссылкой вашего Jquery помещается первый затем написать ссылку яваскрипта

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> 
0

Проверьте консоль. Скорее всего Jquery не сослались, в этом случае вам необходимо включить его перед IntroJS:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> 
0

Немного опоздал на вечеринку, но для тех, кто погуглить:

В ниспадающее меню UL имеет introjs-fixParent добавил к нему, для меня это заставило мое меню появляться за другими элементами на странице, поэтому я исправил это, сделав z-index: 1000!important на UL. Intro.js добавляет introjs-showElement к элементу, который будет показан, который имеет действительно высокий индекс z. Проблема здесь в том, что z-индекс родителей ниже маски, поэтому все дети всегда находятся за маской.

Мое решение состояло в том, чтобы удалить z-index: 1000!important на UL и поместить другие элементы за мое меню.

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