jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 不使用位置的交叉渐变元素:绝对大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图交叉淡化两个元素,以便一个替换另一个元素.显然,出现的元素必须在它消失之前放入DOM中.如果没有绝对定位,它会将其他元素移出原位,这是我需要避免的.

这是当前行为的一个小提琴.我需要中间框来交叉淡入淡出而没有丑陋的移动效果.我可以把它们放在另一个容器中并将它们绝对置于其中,但是有更优雅的方式吗?

http://jsfiddle.net/b9yKE/

HTML:

@H_197_13@<ul> <li id="one">One</li> <li id="two">Two</li> <li id="three">Three</li> </ul>

CSS:

@H_197_13@li { display: inline-block; width:60px; border: 1px solid; text-align: center; } .animate-opac { -webkit-transition: opacity 1.5s ease-out; } .fade { opacity: 0; } .hidden { display:none; }

JS:

@H_197_13@var $new = $('<li id="twohalf">2.5</li>'); var $ul = $('ul'); window.setTimeout(function() { $('#two').toggleClass("animate-opac"); $new.toggleClass("animate-opac fade"); $('#two').after($new); $('body')[0].offsetWidth; $('#two').toggleClass("fade"); $new.toggleClass("fade"); $('#two').on("webkittransitionend",function() { $(this).remove(); }); },500);

解决方法

只需在转换结束回调中用新的元素替换元素
http://jsfiddle.net/b9yKE/4/

@H_197_13@$('#two').toggleClass("animate-opac fade").one("webkittransitionend",function() { $(this).replaceWith( $new ); });

大佬总结

以上是大佬教程为你收集整理的jquery – 不使用位置的交叉渐变元素:绝对全部内容,希望文章能够帮你解决jquery – 不使用位置的交叉渐变元素:绝对所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。