我有一组31个div,每个div都有一个数字类。我试图在点击提交按钮的同时将所有具有今日日期或更早版本的div设为。
<div class="image 1">SAMPLE TEXT</div>
<div class="image 2">SAMPLE TEXT</div>
<div class="image 3">SAMPLE TEXT</div>
<div class="image 4">SAMPLE TEXT</div>
<form>
<input class="previous" type="submit" value="View Previous" />
</form>
这一点jQuery,但它远没有作品,我不能为我的生活找出原因。
$("form").submit(function()
{
var number = $('div.image').attr("class").match(/\d+/),
d = new Date(),
day = d.getDate();
if (number <= day){
$('div.image').animate({"height":"0px", "width":"150px", "bottom":"75px"}, 500);
}
else {
}
});
我目前拥有它,因此当您将鼠标悬停在它们上方时,每个div都会动画,但我还想在单击“提交”按钮时为其中的一组设置动画。谢谢!
答案 0 :(得分:0)
第一个:你必须从函数表单提交中返回false(不要重新加载页面)。然后
d = new Date(),
day = d.getDate();
$(".image").each(function(i,e){
var number = $(e).attr("class").match(/\d+/);
if (number <= day)
$(e).addClass('active');
});
和
$('div.active').animate({"height":"0px", "width":"150px", "bottom":"75px"}, 500);
答案 1 :(得分:0)
因为在动画开始运行之前已经提交的表单 您应该在动画
之后添加return false
像那样
if (number <= day){
$('div.image').animate({"height":"0px", "width":"150px", "bottom":"75px"}, 500);
return false;
}
else {
}
答案 2 :(得分:0)
为什么不在div上使用自定义属性?尝试这样的事情。
HTML:
<div class="image" number="1">SAMPLE TEXT</div>
<div class="image" number="2">SAMPLE TEXT</div>
<div class="image" number="3">SAMPLE TEXT</div>
<div class="image" number="4">SAMPLE TEXT</div>
<form>
<input class="previous" type="submit" value="View Previous" />
</form>
JavaScript的:
$('div.image').each(function()
{
var number = $(this).attr('number'),
d = new Date(),
day = d.getDate();
if (number <= day){
$(this).animate({"height":"0px", "width":"150px", "bottom":"75px"}, 500);
}
});
要测试上述内容,请将其添加到&#34; OnSubmit&#34;或&#34; OnHover&#34;事件处理程序......