我在项目中上下滑动课程时遇到问题,并希望得到任何帮助。
HTML:
<input type="text" class="text" name="left" style="width:100%;"/>
<input type="submit" class="btn" value="Submit" />
<div class="regler">Regler</div>
jQuery的:
$("input.text").focus(function () {
$(this).animate({width:'80%'},'slow',function(){
$(this).next('input.btn').fadeIn('Slow');
});
$(this).next(".regler").slideDown('Slow');
});
$("input.text").blur(function () {
$(this).next('input.btn').fadeOut('Slow',function(){
$(this).prev().animate({width:'100%'},'slow');
});
$(this).next(".regler").slideUp('Slow');
});
CSS:
.regler {
display: none;
}
input.btn {
display: none;
}
jQuery位于脚本标记中的HTML之后。
$(this).next(".regler").slideDown('Slow');
和$(this).next(".regler").slideUp('Slow');
是唯一无效的行。
谢谢你的回答,Victor。
答案 0 :(得分:2)
next
只是寻找下一个元素。由于this
是您上下文中的文本框,因此它没有下一个.regler
。如果这些标记包装在父容器中,请尝试:
$(this).siblings(".regler").slideUp('Slow');
或者,如果输入有很多集合:
$(this).next().next(".regler").slideUp('Slow');