我有一个索引,可以根据用户选择的内容更改其模板。一旦用户更改其模板,我希望菜单也改变颜色。它适用于所有浏览器,但在 IE 中,它给了我错误 '1' is null or not an object in the linereturn "#" + hex(bg[1]) + hex(bg[2]) + hex(bg[3]);
这是我的代码
jQuery(document).ready(function(){
var bg = convert(jQuery('#body').css('background-color'));
var font = convert(jQuery('.left').css('color'));
if(bg =='#ffffff' || bg=='undefined'){
bg = '#000000';
font='#ffffff';
}
jQuery('.mainmenu').hover(
function(){
var $this = $(this);
$this.data('bgcolor', $this.css('background-color')).css('background-color', '#FFFFFF' );
},
function(){
var $this = $(this);
$this.css('background-color', $this.data('bgcolor'));
}
);
jQuery('.submenu').hover(
function(){
var $this = $(this);
$this.data('bgcolor2', $this.css('background-color')).css('background-color', bg );
},
function(){
var $this = $(this);
$this.css('background-color', $this.data('bgcolor2'));
}
);
jQuery('.submenu2').hover(
function(){
var $this = $(this);
$this.data('color', $this.css('color')).css('color', font );
},
function(){
var $this = $(this);
$this.css('color', $this.data('color'));
}
);
});
function convert(bg){
bg = bg.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
return "#" + hex(bg[1]) + hex(bg[2]) + hex(bg[3]);
}
function hex(x) {
return ("0" + parseInt(x).toString(16)).slice(-2);
}
</scri