jQuery - как создать отменяемое действие? - PullRequest
0 голосов
/ 03 апреля 2011

Итак, у меня здесь есть такой код, который я использую для обновления CSS, если браузер поддерживает HTML5:

     $(":header").append('<style type="text/css">  body { background-color: rgb(200,200,200); margin: 0px; overflow: hidden; font: 100.01% "Trebuchet MS",Verdana,Arial,sans-serif; } #info { position: absolute; top: 0px; width: 100%; color: #ffffff;  font-family:Monospace;font-size:13px; font-weight: bold;          position:absolute;      height:100%;    overflow:auto; } a { color: #ffffff;} h1,h2,p{margin: 0 10px} h1{font-size: 250%;color: #FFF; text-shadow:0px 1px 1px #000;} h2{font-size: 200%;color: #f0f0f0;padding-top: 0.3em}div#nifty{ margin: 0 10%;background: rgba(250, 250, 250, 0.1); -moz-border-radius:15px; border-radius: 15px;} b.rtop, b.rbottom{display:block;background:#FFF; } b.rtop b, b.rbottom b{display:block;height: 1px;overflow: hidden; background: #9BD1FA} b.r1{margin: 0 5px} b.r2{margin: 0 3px} b.r3{margin:0 2px} b.rtop b.r4, b.rbottom b.r4{margin: 0 1px;height: 2px} p, ul{color:#000;text-shadow: 0px 1px 1px rgba(255,255,255,0.6);padding-bottom:1em}input[type="button"], .eButton {width: 150px;padding: 5px 10px;word-wrap:break-word;height: auto;} b.rtop, b.rbottom{display:none;background: rgba(0,0,0,0)}html{ width:100%; height:100%; min-width:900; min-height:700;} body{ width:100%; height:100%; }  #container{ width:100%; height:100%;} </style>');

Я в контексте наличия 3d-неба на фоне

Когда появляется EEE PC (даже на последней бета-версии Chrome), он попадает на мою страницу в Hi-ReS!Статистика <= 4 кадра в секунду.Поэтому мне нужно сделать какую-то функцию UnDo из jQuery - чтобы очистить то, что было добавлено на страницу.Как это сделать? </p>

1 Ответ

5 голосов
/ 03 апреля 2011

Почему бы не добавить класс к телу и с этим классом заставить все волшебство произойти?

Пример:

(после тестов, которые вы сделали, чтобы проверить, поддерживает ли он html5)

$("body").addClass("html5Supported");

И CSS (добавьте его в свой файл CSS):

.html5Supported {
    background-color: rgb(200,200,200);
    margin: 0px;
    overflow: hidden;
    font: 100.01% "Trebuchet MS", Verdana, Arial, sans-serif;
}

.html5Supported #info {
    position: absolute;
    top: 0px;
    width: 100%;
    color: #ffffff;
    font-family: Monospace;
    font-size: 13px;
    font-weight: bold;
    position: absolute;
    height: 100%;
    overflow: auto;
}

(то же самое для остальных, которые вы хотите изменить, и т. Д.).

ЕслиВы хотите "отменить" его, просто удалите его:

$("body").removeClass("html5Supported");

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

...