【发布时间】:2010-07-02 20:58:51
【问题描述】:
嘿,我有一些我认为应该可以工作的代码(尽管我真的在这里摸不着头脑)——我只是想动态地更改 div 标签上的类名。
我正在尝试将 id 为“slider”的 div 类从“可见”更改为“隐藏”。这段代码的其他一切都可以正常工作,但类不会改变。我做错了什么?
我已尝试检查浏览器是否正确评估 IE 6 - 确实如此。 if 语句第一部分中的代码在不是 IE6 时初始化滑块的工作。如果我用其他东西替换 document.getElementById,那么该代码也可以工作。所以我调用getElementbyId的方式一定有问题吗?它在 IE6 中什么也不做。
这是我得到的:
<script type="text/javascript">
$(window).load(function() {
var isIE6 = false;
if(/MSIE 6/i.test(navigator.userAgent)) {
isIE6 = true;
}
if(!isIE6)
{
$('#slider').nivoSlider({
effect:'fade',
slices:1,
animSpeed:500,
pauseTime:3000,
startSlide:0,
directionNav:false,
directionNavHide:true,
controlNav:true,
controlNavThumbs:false,
controlNavThumbsFromRel:false,
controlNavThumbsSearch: '.jpg',
controlNavThumbsReplace: '_thumb.jpg',
keyboardNav:true,
pauseOnHover:true,
manualAdvance:false,
captionOpacity:0.8
});
}
else
{
document.getElementById('slider').className = "hidden";
}
});
</script>
<div id="slider" class="visible">
<img src="/img/nivoslider/slide1.jpg" />
<img src="/img/nivoslider/slide2.jpg" />
<img src="/img/nivoslider/slide3.jpg" />
</div><!-- end slider -->
【问题讨论】:
-
与您的问题并不真正相关,但您应该考虑在整个 IE6 测试中使用功能测试而不是浏览器嗅探。随着移动浏览器的爆炸式增长,通过它们的 JavaScript 实现来实现这个和那个,尝试和嗅探的方式太多了。只是一些思考的食物。
标签: javascript jquery