http://jsfiddle.net/motocomdigital/uTV5k/18/
我已经更新了使用切换,而不是点击-尽管仍然不能得到顺利的交替。
这里混合了javascript和jquery。
我试图获得一个元素,所以当它被点击时,它会运行一个动画(打开)。在第二次单击时,动画运行到起始点(关闭)。
但由于某些原因,我无法让第二次点击交替工作。有人能告诉我我做错了什么吗?谢谢
$('.home-module').toggle是我遇到问题的地方。
见下面的剧本..。
$(window).load(function(){
$(window).bind("orientationchange resize", function(e) {
$('.home-module').each(function() {
var homeModule = $(this).height(),
homeTitle = $(this).find('.home-title-button').outerHeight(),
homeStart = homeModule - homeTitle,
homeOpen = false;
$(this).find('.home-title').css("top", homeStart + "px");
$('.home-module').toggle(
function() {
// first alternation
$(this).find('.home-title').animate({ top: homeStart + "px" });
},
function() {
// second alternation
$(this).find('.home-title').animate({ top: 0 + "px" });
}
);
});
}).trigger("resize");
});在点击动画时,它似乎真的没有反应,第二次点击/交替真的被延迟了,并且做了一些奇怪的事情吗?
谢谢
我的原始密码..。
$(window).load(function(){
$(window).bind("orientationchange resize", function(e) {
$('.home-module').each(function() {
var homeModule = $(this).height(),
homeTitle = $(this).find('.home-title-button').outerHeight(),
homeStart = homeModule - homeTitle,
homeOpen = true;
$(this).find('.home-title').css("top", homeStart + "px");
$('.home-module').on('click', function () {
if (homeOpen) {
$(this).find('.home-title').animate({ top: homeStart + "px" });
homeOpen = false;
} else {
$(this).find('.home-title').animate({ top: 0 + "px" });
homeOpen = true;
}
});
});
}).trigger("resize");
});发布于 2012-02-05 20:08:56
homeOpen总是设置为false,因此您的if (homeOpen)条件永远不会满足。
https://stackoverflow.com/questions/9152543
复制相似问题