我发现了这个jquery插件,除了IE之外,它工作得很好。
http://bxslider.com/
如果我在代码中插入If滑块,jquery幻灯片切换失败。
<div>
<span><a href="#" class="tabbutton" id="tabbtnA">Visual</a></span>
<span><a href="#" class="tabbutton" id="tabbtnB">Keywords</a></span>
</div>
<div id="tabA" class="tabcontent">
1<br />
2<br />
3
</div>
<div id="tabB" style="display: none;" class="tabcontent">
test<br />
test<br />
test
</div>
<script>
$(document).ready(function () {
$('#tabbtnA').click(function () {
$('#tabA').slideToggle(400);
$('#tabB').slideToggle(200);
});
$('#tabbtnB').click(function () {
$('#tabB').slideToggle(400);
$('#tabA').slideToggle(200);
});
});
</script>
有趣的是,如果我在jquery之前插入bxslider.js,在某些情况下它可以正常工作。(并不是我试过的所有页面。)
-失败--
<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>
<script src="http://bxslider.com/sites/default/files/jquery.bxSlider.min.js" type="text/javascript"></script>
错误- SCRIPT87:无效参数。jquery-1.6.4.js,第8602行,字符5
/* here is line 8602 */
fx.elem.style[ fx.prop ] = (fx.prop === "width" || fx.prop === "height" ? Math.max(0, fx.now) : fx.now) + fx.unit;
-工作
<script src="http://bxslider.com/sites/default/files/jquery.bxSlider.min.js" type="text/javascript"></script>
<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>
有办法解决这个问题吗?
update:如果我从bxslider.js中删除这个脚本块,它似乎可以工作,尽管我不知道if滑块会发生什么。
jQuery.fx.prototype.cur = function () {
if (this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null)) {
return this.elem[this.prop]
}
var a = parseFloat(jQuery.css(this.elem, this.prop));
return a
}
发布于 2011-12-07 23:30:40
谢谢你提供的信息。我也会犯同样的错误。当我运行任何jQuery动画函数(动画、slideToggle等)时,我在IEs中得到一个脚本87错误(<9)。你是正确的,用这个块移除它可以解决冲突。删除该块的效果是,滑块将不注意和css样式,您已经应用到它的元素,并将强制它自己的jQuery。这可能会也可能不会破坏滑块为您。
例如,在我的实现中,我将bx-寻呼机(滑块控件)移动到bx窗口div内的滑块下方。为此,我需要将bx窗口div调整到更大的高度。删除冲突块后,滑块脚本将忽略我添加的高度css规则,使其更小。(对我来说,解决方案是不要在我使用jQuery的页面上使用bxSlider动画。
https://stackoverflow.com/questions/8379413
复制相似问题