ユーザーの選択に応じてテンプレートを変更するインデックスがあります。ユーザーがテンプレートを変更したら、メニューの色も変更したい。すべてのブラウザで動作しますが、IE ではエラー '1' is null or not a object in the line が表示されますreturn "#" + 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