我需要阻止IE识别此插件中的淡入/淡出效果。如何在此添加一行jquery特征检测代码:
$(function() {
var newHash = "",
$mainContent = $("#main-content"),
$pageWrap = $("#page-wrap"),
baseHeight = 0,
$el;
$("nav#footer").delegate("a", "click", function() {
window.location.hash = $(this).attr("href");
return false;
});
$(window).bind('hashchange', function(){
newHash = window.location.hash.substring(1);
if (newHash) {
$mainContent
.find("#guts")
.fadeOut(200, function() {
$mainContent.show().load(newHash + " #guts", function() {
$mainContent.fadeIn(200, function() {
});
$("nav#footer a").removeClass("current");
$("nav#footer a[href="+newHash+"]").addClass("current");
});
});
};
});
$(window).trigger('hashchange');
});
我有一些像
这样的代码var FADE_TIME = 500; if(!($.support.opacity)) { FADE_TIME = 0}
$('element').fadeOut(FADE_TIME)
我会在代码中添加它?有人可以帮助我让这个真正有效吗?请!!
答案 0 :(得分:1)
无法弄清楚为什么有人不仅编辑代码并回答问题。 您需要做的就是创建一个新变量,其值由$ .support.Opacity属性确定,然后在代码的淡入/淡出部分引用它。
$(function() {
var newHash = "",
$mainContent = $("#main-content"),
$pageWrap = $("#page-wrap"),
baseHeight = 0,
$el,
// new fadeTime property.
fadeTime = $.support.opacity ? 500 : 0;
$("nav#footer").delegate("a", "click", function() {
window.location.hash = $(this).attr("href");
return false;
});
$(window).bind('hashchange', function(){
newHash = window.location.hash.substring(1);
if (newHash) {
$mainContent
.find("#guts")
.fadeOut(fadeTime, function() {
$mainContent.show().load(newHash + " #guts", function() {
$mainContent.fadeIn(fadeTime, function() {
});
$("nav#footer a").removeClass("current");
$("nav#footer a[href="+newHash+"]").addClass("current");
});
});
};
});
$(window).trigger('hashchange');
});
答案 1 :(得分:0)
如果用户没有使用Internet Explorer,您只想运行一些东西吗?
试试这个:
if ($.browser.msie) {
return false;
} else {
//do something
}
答案 2 :(得分:-1)
我认为您正在讨论对CSS opacity
属性的支持,而不是IE8及以下使用的稍微有点错误的-ms-filter
和filter
。在这种情况下,最好的方法是测试元素的style
对象中是否存在属性:
if('opacity' in document.createElement('div').style) {
// Do something that requires native opacity support
}
(如果要测试多个属性,可能需要在那里缓存测试元素)