我有一组链接的图像,我想每3秒循环一次,但一次只显示一个:
# some django template code:
<div id="featured-prints" class="featured-promo">
{% for p in promo_prints %}
<a href="{% url 'print_order_with' p.id %}">
<img class="featured-print" src="{{ MEDIA_URL }}{{ p.id }}_{{ THUMBNAIL_SIZE }}.png" alt="{{ p.body }}" />
</a>
{% endfor %}
</div>
# the JS to cycle through:
$(function(){
$('.featured-promo a:gt(0)').hide();
setInterval(function(){
$('.featured-promo :first-child')
.hide()
.next('a')
.fadeIn(2000)
.end()
.appendTo('.featured-promo');
}, 1000);
我最近在img周围添加了<a>
,现在JavaScript无法工作;它不会fadeIn()
下一个链接的图像。我已经尝试了几种变体,包括将“a”传递给next()
和“a img”,但似乎都不起作用。我也试过将parent()
链接到hide()
函数,仍然没有结果。
有什么建议吗?
5条答案
按热度按时间bkhjykvo1#
试着改变
致:
如果没有
>
,它会下降到每个级别。因此,它找到.featured-promo
的第一个子节点(第一个a
),以及每个a
的第一个子节点(每个img
)。它隐藏了所有这些,然后只在下一个a
中消失。img
标签保持隐藏状态,因为没有任何东西可以使它们淡入。选择器中的
>
意味着只将下一部分与直接子级匹配,而不是所有子级。qcuzuvrc2#
错误就在那里
您正在调用
.featured-promo
上的.next('a')
first-child,它不是.featured-promo
的兄弟节点,而是它的子节点。elementA.next()
用于获取同级元素(元素A之后的元素,即元素B)要获取其他
a
s',您应该像这样编写mzmfm0qo3#
尝试find而不是next
6rqinv9w4#
在hide()之后使用end():
bvk5enib5#
试试这个: