使用JS的多个内联样式,如何设置回退?

时间:2018-01-09 08:40:29

标签: javascript css

所以,如果我在css中将它写成一个类,我会得到类似的东西:

.cursorChange {
    cursor: move; /*IE*/
    cursor: grabbing; /*Mozilla*/
    cursor: -webkit-grabbing; /*Chrome*/
}

但是我想在抓取元素时使用javascript内联这些样式。现在这样一行:

document.getElementById('foo').style.cursor = "move";

显然可以工作,但是如何向此节点添加多个值呢?如果我只是写抓取,IE没有回退,莫兹拉也不认识它,有没有办法在这里添加多个值?

P.S。无法更改整个样式字符串,因为它只有光标就可以了。我需要这个内联,而不是一个类,因为css是如何编写的。

2 个答案:

答案 0 :(得分:3)

这样的事情怎么样:

if(navigator.userAgent.indexOf("Chrome") != -1 ){ // Chrome
        document.getElementById('foo').style.cursor = "-webkit-grabbing";
}else if(navigator.userAgent.indexOf("Firefox") != -1 ){ //FireFox
        document.getElementById('foo').style.cursor = "grabbing";
}else if((navigator.userAgent.indexOf("MSIE") != -1 ) || (!!document.documentMode == true )){ //IE
       document.getElementById('foo').style.cursor = "move";
}    

答案 1 :(得分:2)

您可以尝试以下方式:

var isIE = /*@cc_on!@*/false || !!document.documentMode;
var isMozilla = typeof InstallTrigger !== 'undefined';  
var isChrome = !!window.chrome && !!window.chrome.webstore;

if(isIE) {
    document.getElementById('foo').style.cursor = "move";
}
if(isMozilla) {
    document.getElementById('foo').style.cursor = "grabbing";
}
if(isChrome) {
    document.getElementById('foo').style.cursor = "-webkit-grabbing";
}

此外,您可以从此处获得更多浏览器选项:How to detect Safari, Chrome, IE, Firefox and Opera browser?