我创建了一个小提琴来证明我的问题:http://jsfiddle.net/motocomdigital/QyhpX/5/jQuery - 为什么属性不被删除? .removeAttr
概述
我创建一个标签式的网站,使用jQuery .animate
功能。我的现场网站似乎在第一次轮换时出现了一些问题,但我似乎无法在小提琴中复制它。
左边的制表符将div#wrapper
右边的位置设置为-170px并回到0 - 然后我添加了.removeAttr('style');
以删除样式属性,所以它不会干扰正确的制表符。
右选项卡动画div#wrapper
左定位到-170px并返回0 - 然后我添加了.removeAttr('style');
删除样式属性,因此它不会干扰左标签。
问题
的.removeAttr('style');
不去除后.animate
完成内联样式属性,这会导致如果有合适的标签已经打开了我的左选项卡是失去作用。
请参阅jsfiddlehttp://jsfiddle.net/motocomdigital/QyhpX/5/
也没有人注意到在第一个选项卡打开交替任何毛刺?左还是右?它似乎挂在第一次开放,然后突然打开,但顺利关闭,然后顺利重新打开。它只是第一次点击开放。
TAB代码脚本
var $tabLeft = $(".tab-left-button span"),
$tabRight = $(".tab-right-button span"),
$siteSlide = $("#wrapper");
$tabLeft.on('click', function() {
if ($tabLeft.html() == 'X') {
$siteSlide.stop().animate({ right: "0" }, 300);
$tabLeft.html('Tab Left');
return false;
$siteSlide.removeAttr('style');
} else {
$siteSlide.stop().animate({ right: "-170px" }, 300);
$tabLeft.html('X');
$('body,html').animate({
scrollTop: 0
}, 800);
}
});
$tabRight.on('click', function() {
if ($tabRight.html() == 'X') {
$siteSlide.stop().animate({ left: "0" }, 300);
$tabRight.html('Tab Right');
return false;
$siteSlide.removeAttr('style');
} else {
$siteSlide.stop().animate({ left: "-170px" }, 300);
$tabRight.html('X');
$('body,html').animate({
scrollTop: 0
}, 800);
}
});
任何帮助将非常感激。由于
http://jsfiddle.net/motocomdigital/QyhpX/5/
评论只是说,我喜欢那些侧菜单。 – 2012-03-22 12:54:02
@Xyna谢谢! – Joshc 2012-03-22 15:13:47