当我将过渡行添加到我的代码中时,会中断jQuery。我该怎么解决?
a(this).next().css({ left: c,transition: 'opacity 1s ease-in-out' });
我试图在一个滑块中从一个div到另一个div设置一个褪色
解决方法
步骤1)删除分号,它是您正在创建的对象…
a(this).next().css({ left : c,transition : 'opacity 1s ease-in-out'; });
至
a(this).next().css({ left : c,transition : 'opacity 1s ease-in-out' });
步骤2)Vender-prefixes …没有浏览器使用转换,因为它是标准,即使在最新的浏览器中也是一个实验性功能:
a(this).next().css({ left : c,WebkitTransition : 'opacity 1s ease-in-out',MozTransition : 'opacity 1s ease-in-out',MsTransition : 'opacity 1s ease-in-out',OTransition : 'opacity 1s ease-in-out',transition : 'opacity 1s ease-in-out' });
这是一个演示:http://jsfiddle.net/83FsJ/
步骤3)更好的供应商前缀…而不是向元素添加大量不必要的CSS(这将被浏览器忽略),您可以使用jQuery来决定要使用的Vender-prefix:
$('a').on('click',function () { var myTransition = ($.browser.webkit) ? '-webkit-transition' : ($.browser.mozilla) ? '-moz-transition' : ($.browser.msie) ? '-ms-transition' : ($.browser.opera) ? '-o-transition' : 'transition',myCSSObj = { opacity : 1 }; myCSSObj[myTransition] = 'opacity 1s ease-in-out'; $(this).next().css(myCSSObj); });
这是一个演示:http://jsfiddle.net/83FsJ/1/