好的所以我试图在jquery中重新创建“slideUp”和“slideDown”功能但是当flexbox用于显示时!
jQuery.fn.toggleFlexbox = function() {
var elm = $(this[0]);
if(elm.css('display') === "none"){
elm.css('display', '-webkit-flex');
}else{
elm.slideUp('fast');
}
};
这是我有多远(目前上面的代码工作,但当我们从“无”切换到“-webkit-flex”时它不会滑动,我尝试了以下内容)
elm.animate({"display":"-webkit-flex"}, 1000);
这根本无法工作,没有动画,没有错误或任何其他......
奇怪我正在这样做,因为如果我用所有对象启动页面(带有“设置”类的元素)我想加载为显示flex,然后用
隐藏它们$('.settings').hide();
当我点击设置部分时,这似乎不适用于flexbox,但我已经转到另一个页面并在行为正确时回来...非常奇怪!
奇怪的是,我无法在小提琴手中重新创造它.... http://jsfiddle.net/FzqA7/ ..
答案 0 :(得分:1)
如果我正确地理解了你的问题(这是一个很大的问题),听起来你已经遇到了我前一段时间遇到的同样的问题,也就是说,只有一半的动画一旦启动就会起作用(一次)滑下来,slideUp不起作用,反之亦然。)
我通过在动画的第一次迭代后添加“return”来解决它,虽然这是一个单击事件触发器,因此结束该功能对多个排列至关重要。
尝试:
jQuery.fn.toggleFlexbox = function() {
var elm = $(this[0]);
if(elm.css('display') === "none"){
elm.css('display', '-webkit-flex');
return;
}else{
elm.slideUp('fast');
return;
}
};
很抱歉,如果我完全误解了你的问题,但这有点模棱两可......