嗨,我已经停下来试图获得我需要工作的东西。
基于:
$(".test a").hover(function(){
$(this).toggle({ height: "200px" });
}, function() {
var currentTab = $(this).attr('href');
$(this).stop(true, false).animate({ height: "100px" });
});
});
<div class="test">
<a href="#one">1</a>
<a href="#two">2</a>
<a href="#three">3</a>
</div>
我需要它来动画一个div
而不是自我动画,我想出了下面的动画,然后将动画放下来,但不会备份等等:
$(".test a").hover(function(){
var activeTab = $(this).attr("href");
$(activeTab).toggle({ height: "200px" }); }, function() {
$(activeTab).stop(true, false).animate({ height: "100px" }); }); });
<div class="test">
<a href="#one">1</a>
<a href="#two">2</a>
<a href="#three">3</a>
<div id="one" class="tab one">1</div>
<div id="two" class="tab two">2</div>
<div id="three" class="tab three">3</div> </div>
答案 0 :(得分:0)
您需要重新声明变量activeTab,因为它只存在于mouseenter的范围内,而不是mouseout
$(".test a").hover(function(){
var activeTab = $(this).attr("href");
$(activeTab).toggle({ height: "200px" });
},
function() {
var activeTab = $(this).attr("href");
$(activeTab).stop(true, false).animate({ height: "100px" });
});
});
答案 1 :(得分:0)
$(".test a").hover(function(){ var activeTab = $(this).attr("href");
$(activeTab).toggle({ height: "200px" }); }, function() {
$(activeTab).stop(true, false).animate({ height: "100px" }); }); });
这里有一些错误......一个是,算你的括号......
$(".test a").hover(function(){
var activeTab = $(this).attr("href");
$(activeTab).toggle({ height: "200px" });
},
function() {
$(activeTab).stop(true, false).animate({ height: "100px" });
});
}); // too many closing brackets
第二个是var activeTab
超出第二个功能的范围。因此,您需要在第二个函数中重新定义var activeTab
:
这应该有效:
$(".test a").hover(function(){
var activeTab = $(this).attr("href");
$(activeTab).toggle({ height: "200px" });
},
function() {
var activeTab = $(this).attr("href");
$(activeTab).stop(true, false).animate({ height: "100px" });
});