Element的CSS会在页面加载结束时恢复吗?

时间:2013-01-31 04:33:31

标签: jquery css dynamic greasemonkey roblox

我正在尝试更改<{p>}的position

<div class="BannerRedesign" id="Banner" style="position: fixed ! important; height: 36px ! important; width: 100% ! important;">
    <div class="BannerCenterContainer" id="NavigationRedesignBannerContainer">

(roblox banner元素,试图让它不浮动) 使用Greasemonkey到relative,启用所有权限。但是,每次在文档加载结束时,它都会恢复为浮动状态。

我甚至尝试将bannercentercontainer附加到另一个元素,但我不知道我是否做得对... 你能帮助我改变这个相对位置吗?

我试过了:

$('#Banner').css('position', 'relative !important')

if ($('#Banner').css('position') == 'fixed') {
$('#Banner').css('position', 'relative')
}

,但只是在页面加载完毕后才会改回来。

1 个答案:

答案 0 :(得分:1)

该横幅可能在静态HTML中设置,并由AJAX定期重置。

解决问题的一种方法是使用the waitForKeyElements() utility

以下是一个完整的脚本,它将对问题中给出的代码起作用:

// ==UserScript==
// @name     _Unfix annoying banner
// @include  http://YOUR_SERVER.COM/YOUR_PATH/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
    introduced in GM 1.0.   It restores the sandbox.
*/

waitForKeyElements ("#Banner", unFixThePositioning);

function unFixThePositioning (jNode) {
    jNode.css ('position', 'relative');

    //-- Or, for a little extra "Oomph":
    jNode[0].style.setProperty ("position", "relative", "important");

    return true;    //-- Check repeatedly.
}