更改 mootools 中 :hover 选择器的样式

发布于 2024-11-04 20:25:17 字数 447 浏览 1 评论 0原文

我已经尝试过谷歌,但我无法确定答案。

我正在尝试从 mootools 编辑 #sidebar:hover 的样式。我的 css 如下:

#hoverzone:hover {
    background: #EEE;
}

现在,我尝试在页面加载时从 mootools 编辑背景颜色,以表示启用了 javascript。我知道我可以做到:

$('hoverzone').addEvent('mouseenter', function(){
    this.setStyle('background','000');
});

但我想知道是否有一个函数可以在页面加载时调用,该函数可以在一行中完成此操作,而无需用户执行任何操作。

谢谢

编辑:是的,我很着急,并且古老地键入而不是 mouseenter

I have tried google, but I can not definite answer.

I am trying to edit the styles of #sidebar:hover from mootools. My css is as follows:

#hoverzone:hover {
    background: #EEE;
}

Now, I am trying to edit the background color from mootools when the page loads, to signify javascript is enabled. I know I can do:

$('hoverzone').addEvent('mouseenter', function(){
    this.setStyle('background','000');
});

But I was wondering if there is a function I could call at the load of the page, that does this in one line with out the user doing anything.

Thanks

Edit: Yes, I was rushing, and anciently typed over instead of mouseenter

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

梦巷 2024-11-11 20:25:28

你不能用 JavaScript 来定位伪选择器。因此您需要创建一个新的 CSS 规则来覆盖旧的规则。

http://jsfiddle.net/dimitar/Z9RPP/

var StyleWriter = new Class({
    // css classes on the fly, based on by Aaaron Newton's old work
    createStyle: function(css, id) {
        try {
            if (document.id(id) && id) return;

            var style = new Element('style', {id: id||'',type:'text/css'}).inject(document.getElements('head')[0]);
            if (Browser.ie)
                style.styleSheet.cssText = css;
            else
                style.set('text', css);

        } catch(e) {
            //console.log("failed:", e);
        }
    }
});

new StyleWriter().createStyle("#hoverzone:hover { background:red;}", "foo");

you cannot target a pseudo selector with javascript. so you need to create a new CSS rule that overrides the old one.

http://jsfiddle.net/dimitar/Z9RPP/

var StyleWriter = new Class({
    // css classes on the fly, based on by Aaaron Newton's old work
    createStyle: function(css, id) {
        try {
            if (document.id(id) && id) return;

            var style = new Element('style', {id: id||'',type:'text/css'}).inject(document.getElements('head')[0]);
            if (Browser.ie)
                style.styleSheet.cssText = css;
            else
                style.set('text', css);

        } catch(e) {
            //console.log("failed:", e);
        }
    }
});

new StyleWriter().createStyle("#hoverzone:hover { background:red;}", "foo");
摘星┃星的人 2024-11-11 20:25:28

您可以使用 windows 对象的 domreadyload 事件。

例如:

window.addEvent('load', function(){
    $('hoverzone').setStyle('background-color','000');
});

You can use the events domready or load of the windows object.

For example something like:

window.addEvent('load', function(){
    $('hoverzone').setStyle('background-color','000');
});
ぇ气 2024-11-11 20:25:28

为什么使用 JavaScript。为什么不只是CSS:

#hoverzone { background: #000 }
#hoverzone:hover { background: #EEE }

Why use javascript. Why not just css:

#hoverzone { background: #000 }
#hoverzone:hover { background: #EEE }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文