7 javascript jquery internet-explorer slidetoggle
我的JQuery滑块在IE中不起作用(在任何文档模式中).我怎么能解决这个问题?按下按钮后,我的代码会向下滑动一段文本(它也很好地淡入).IE控制台给我这个错误:"Object doesn't support property or method 'fadingSlideToggle'".
(function ($) {
$.fn.fadingSlideToggle = function ($el, options) {
var defaults = {
duration: 500,
easing: 'swing',
trigger: 'click'
};
var settings = $.extend({}, defaults, options)
$selector = $(this).selector;
return this.each(function () {
var $this = $(this);
$(document).on(settings.trigger, $selector, function (e) {
e.preventDefault();
if ($($el).css('display') == 'none') {
$($el).animate({
opacity: 'toggle',
height: 'toggle'
}, settings.duration, settings.easing);
} else {
$($el).animate({
opacity: 'toggle',
height: 'toggle'
}, settings.duration, settings.easing);
}
});
});
};
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
我想知道哪个部分不受支持,以及如何解决它.非常感谢!
编辑:这是我调用该函数的代码(它适用于firefox和chrome):
<button class="btn-custom btn-lg"" id="clickedEl"><span>Why rate/review websites?</span> </button></br>
<nav role="navigation" id="toggleEl">/*non relevant html*/</nav>
Run Code Online (Sandbox Code Playgroud)
其余的javascript:
$(function(){
$('#clickedEl').fadingSlideToggle('#toggleEl');
});
Run Code Online (Sandbox Code Playgroud)
JSFiddle在IE中不起作用:http://jsfiddle.net/3ymvv
问题似乎来自jQuery 1.10.1(#13936 #13980).这是我们得到的错误:
访问被拒绝 - jQuery-1.10.1.js,行:1513,列:2
和相关的行:
// Support: IE>8
// If iframe document is assigned to "document" variable and if iframe has been reloaded,
// IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936
if ( parent && parent.frameElement ) { // :1513
parent.attachEvent( "onbeforeunload", function() {
setDocument();
});
}
Run Code Online (Sandbox Code Playgroud)
这种情况发生得很早,可能会阻止您的脚本加载.
将jQuery更新到1.11.0版本(或更多版本),您将看到它的工作原理.