2009-07-31 4 views
162

Обычно у меня есть файл CSS, который имеет следующее правило:Создать правило CSS/класс с JQuery во время выполнения

#my-window { 
    position: fixed; 
    z-index: 102; 
    display:none; 
    top:50%; 
    left:50%; 
} 

Как избежать создания такого статического файла CSS, добавив информацию о CSS во время действий во время выполнения к телу или что-то подобное? (только с использованием jQuery)

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

Я знаю простые функции (css("attr1", "value");), но как я могу создать полное многократное правило CSS?

ответ

-2

Может быть, вы можете поместить информацию о стиле в отдельный класс в файле CSS, например .:

.specificstyle { 
    position: fixed; 
    z-index: 102; 
    display:none; 
    top:50%; 
    left:50%; 
} 

, а затем использовать JQuery в точке вашего выбора, чтобы добавить имя класса для элемента?

+1

Я не хочу extern css-файла! – stephan

+1

, и вы не хотите размещать информацию в разделе заголовка своей страницы (между тегами стиля)? – JorenB

-2

Вы можете просто сделать класс CSS под названием что-то вроде .fixed-объект, который имеет все ваши CSS в нем ...

.fixed-object{ 
    position: fixed; 
    z-index: 102; 
    display:none; 
    top:50%; 
    left:50%; 
} 

Затем в Jquery в любое время вы хотите что-то, чтобы этот стиль просто добавить этот класс к нему ...

$(#my-window).addClass('fixed-object'); 

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

+3

Я не хочу extern css-файла! – stephan

3

Что делать, если вы динамически создали раздел сценария < на своей странице (с вашими динамическими правилами), а затем использовали jQuerys .addClass (класс), чтобы добавить эти динамически созданные правила?

Я не пробовал это, просто предлагая теорию, которая может работать.

+0

швов лучший способ прямо сейчас. я нашел что-то jQuery.cssRule, но это какой-то плагин: -/ – stephan

+2

$ ("head"). append ($ ("