Jquery 为什么:第一个孩子不工作?
为什么jQuery的这部分工作不正常Jquery 为什么:第一个孩子不工作?,jquery,html,css,radio-button,css-selectors,Jquery,Html,Css,Radio Button,Css Selectors,为什么jQuery的这部分工作不正常 $(function() { if ($('#slide-01').is(":first-child")) { $('input:radio[id=target-slide-01]').prop('checked', true); } else { $('input:radio[id=target-slide-01]').prop('checked', false); } if ($('#slide-02').is(":f
$(function() {
if ($('#slide-01').is(":first-child")) {
$('input:radio[id=target-slide-01]').prop('checked', true);
} else {
$('input:radio[id=target-slide-01]').prop('checked', false);
}
if ($('#slide-02').is(":first-child")) {
$('input:radio[id=target-slide-02]').prop('checked', true);
} else {
$('input:radio[id=target-slide-02]').prop('checked', false);
}
if ($('#slide-03').is(":first-child")) {
$('input:radio[id=target-slide-03]').prop('checked', true);
} else {
$('input:radio[id=target-slide-03]').prop('checked', false);
}
if ($('#slide-04').is(":first-child")) {
$('input:radio[id=target-slide-04]').prop('checked', true);
} else {
$('input:radio[id=target-slide-04]').prop('checked', false);
}
});
指向jQuery实现位置的链接位于此页面上
当我检查HTML和CSS中的元素时,每个幻灯片最终都有一个“:first child”(当幻灯片旋转时),但我猜jQuery没有识别旋转,或者我的jQuery在某个地方关闭了
我也尝试过使用:first代替:first child,但这没有什么区别。单选按钮的函数在页面加载时只调用一次,因为它是一个匿名自调用函数。如果你说出一个名字
function updateRadioButtons() {
if ($('#slide-01').is(":first-child")) {
$('input:radio[id=target-slide-01]').prop('checked', true);
} else {
$('input:radio[id=target-slide-01]').prop('checked', false);
}
if ($('#slide-02').is(":first-child")) {
$('input:radio[id=target-slide-02]').prop('checked', true);
} else {
$('input:radio[id=target-slide-02]').prop('checked', false);
}
if ($('#slide-03').is(":first-child")) {
$('input:radio[id=target-slide-03]').prop('checked', true);
} else {
$('input:radio[id=target-slide-03]').prop('checked', false);
}
if ($('#slide-04').is(":first-child")) {
$('input:radio[id=target-slide-04]').prop('checked', true);
} else {
$('input:radio[id=target-slide-04]').prop('checked', false);
}
}
当幻灯片被更改时,您可以调用它
function moveLeft() {
$('#myslider ul').animate({
left: +containerWidth
}, 600, function () {
$('#myslider ul > li:last-child').insertBefore('#myslider ul > li:first-child');
$(this).css('left', '');
updateRadioButtons();
});
}
function moveRight() {
$('#myslider ul').animate({
left: -containerWidth
}, 600, function () {
$('#myslider ul > li:first-child').insertAfter('#myslider ul > li:last-child');
$(this).css('left', '');
updateRadioButtons();
});
}
还有页面加载
$(function() {
// Key animation.
updateRadioButtons();
var myTimer = setInterval(function () {
moveRight();
}, 5000);
我不知道jQuery,但是如果您打算从包含四个幻灯片的标记开始,那么幻灯片三在逻辑上永远不会是第一个孩子,不是吗?您只需在DOM准备好后调用函数,但永远不会。。。那么第一个孩子总是幻灯片01。每次更改幻灯片时都需要调用该函数。@Danko:您应该将其添加为答案:)@Danko如果每6秒在“最后一张”幻灯片之后插入“第一张”幻灯片,我将如何调用该函数?我需要使用.change()或类似的东西吗?我对jQuery相当陌生,所以我提前道歉。您可以给这个函数起个名字,然后在intervall函数中调用它。。。但是看看你的代码,我建议,你告诉我们,你真正想要实现的是什么。。。因为看起来,你做的事情比需要的更复杂。。。