javascript - 如何在运行时使用 javascript 更改滚动条 css?

标签 javascript html css google-chrome scrollbar

是否可以通过单击按钮在运行时更改滚动条的 css(例如颜色)?

这只需要在谷歌浏览器中工作,所以我正在使用:

::-webkit-scrollbar {
    width:15px;
}
::-webkit-scrollbar-thumb {
    background-color:#999;
    border:solid #fff;
}
::-webkit-scrollbar-thumb:hover {
    background:#777;
}
::-webkit-scrollbar-thumb:vertical {
    border-width:6px 4px;
}

我在 jsfiddle 做了这个例子:http://jsfiddle.net/wZwJz/
我在哪里添加了这个按钮:

<button id="changecss">Change CSS</button>

还有一个 jQuery 监听器:

$("#changecss").on("click", function(){
   // Action goes here
});

我试过这个:$("::-webkit-scrollbar").css("backgroundColor", "#F00"); 但显然没有名为 ::- 的元素webkit-scrollbar,所以jQuery不可能找到它...

最佳答案

您不能选择这里提到的伪选择器: link

您的代码需要执行如下操作:

$("#changecss").on("click", function(){
    var ss = document.styleSheets[0];
    ss.insertRule('::-webkit-scrollbar {background-color: red}', 0);
});

然而,在这个 fiddle 中,滚动条似乎更奇怪: http://jsfiddle.net/wZwJz/4/

在将鼠标悬停在上面之前,颜色不会改变。实际上,我有兴趣了解更多相关信息。所以我会想办法。但是,您现在至少应该朝着正确的方向前进。

编辑: 因此,经过一些摆弄和谷歌搜索之后,我要说到目前为止这是不可能的。这是带有一些注释的最新 fiddle :link

关于javascript - 如何在运行时使用 javascript 更改滚动条 css?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15376239/

相关文章:

javascript - jQuery生成输入框的方法

javascript - Webpack错误: Module has no exported member 'Rgb'

html - 使用 Meteor 应用程序对 SEO 有什么影响?

php - 为什么我的 PHP 在浏览器中查看时好像被注释掉了? &lt;!--?php 包含 ("header.php"); ?-->

javascript - 相对定位下拉菜单

javascript - 如何在不使用日志库的情况下记录对 hapi 服务器发出的所有请求?

javascript - 如何使用 highcharts 库在 x 轴上显示 12AM 和 12PM

HTML/CSS : flip3d how to do a 360 degrees with 4 pictures

javascript - 为什么要安装前端库?

javascript - 如何在 Chart.js 的条形图列中添加背景图片?