2010-02-10 4 views
2

я бегу в одной и той же проблемы снова,Jquery Применение плагинов к «дисплей: нет» элементы

У меня есть некоторые дисплей: Нет элементов на моем сайте, и я cant't применить JQuery плагины на них. Я использую jScrollPane Plugin, например. http://www.kelvinluck.com/assets/jquery/jScrollPane/jScrollPane.html

с:

$(function() 
{ 
    $('.scroll-pane').jScrollPane(); 
}); 

вы можете активировать его, но только на видимых элементов блока. то, что я делаю сейчас применяет указанные сразу после дисплея: нет элемент нажимали на дисплей: блок

$(".hidden").click(
{ 
    $('.hidden').show().jScrollPane(); 
}); 

есть трюк, чтобы сделать эти работы сразу, то есть делает их не игнорировать дисплей: Нет элементы? thx

ответ

1

Вместо того, чтобы использовать display: none, вы можете установить их на visibility: hidden и height: 0, и эти плагины должны работать.

.element { 
    visibility: hidden; 
    height: 0; 
} 

В противном случае, вы должны установить display: inline|block|whatever перед командой плагин называется.

+0

да, но тогда я должен изменить высоту после щелчка тоже, и я не знаю, прежде чем высоту. – Hans

+0

Эти плагины обычно позаботятся об этом. –

0

Try делая их видимыми только перед использованием плагина JScrollPane

$(".hidden").click(
{ 
    $(this).css('display:block'); 
    $(this).jScrollPane(); 
}); 
+0

Правильный синтаксис - '.css ('display', 'block')', и вы можете просто использовать '.show()', чтобы получить тот же эффект. :) –

+0

да, я забыл, что в моем примере я делал это раньше, thx - но я искал способ заставить его работать с элементами «none» с самого начала;) – Hans

+0

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

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