我正在使用有人在stackoverflow上帮助我的脚本。它工作得很好,但它不适用于IE8-10中的我的amchart(我已经将这个问题与amcharts一起记录,因为问题似乎与图表有关)。
我想在此期间使用jQuery脚本进一步排除故障。我仍在学习jQuery,需要一些指导,将以下javascript代码转换为jQuery show()hide()脚本。
我已经尝试了它的基本形式:
$(window).load(function() {
$("div").hide();
};
当您切换图表未显示的表单时,它适用于除IE 8-10之外的所有其他浏览器。下面请参阅IE 8-10中有效的两个脚本的exerpts。
<script type="text/javascript">
function chart1() {
var show = ['chartdiv1', 'unit-price'];
for ( var i = 0; i < show.length; ++i )
document.getElementById(show[i]).style.display = "block";
var hide = ['chartdiv2', 'unit-price-value','chartdiv3', 'unit-price-rand'];
for ( var i = 0; i < hide.length; ++i )
document.getElementById(hide[i]).style.display = "none";
};
</script>
<script>
function chart1() {
document.getElementById("chartdiv1").style.display = "block";
document.getElementById("unit-price").style.display = "block";
};
function chart2() {
document.getElementById("chartdiv2").style.display = "none";
document.getElementById("unit-price-value").style.display = "none";
};
function chart3() {
document.getElementById("chartdiv3").style.display = "none";
document.getElementById("unit-price-rand").style.display = "none";
};
</script>
</head>
<body style="background-color:#FFFFFF; margin: 10px;" onLoad="chart1()"> or onload"chart1(), chart2(),.............
答案 0 :(得分:1)
您的代码中似乎存在语法错误。
这个功能不应该是这样的吗? :
$(window).load(function() {
$("div").hide(); //and not $("div">.hide();
}); // added the closing bracket of load function
答案 1 :(得分:1)
试试这个:
$(window).load(function() {
$("div").hide();
$("#chartdiv1, #unit-price").show();
});
在窗口加载时,您只需隐藏所有div,但最好用css隐藏它。然后只显示你想要显示的特定ID的div。