0
我有两个代码位,几乎相同的jQuery的切换切换自己回到其原始状态
<div class="favButtonHolder" alt="{% url inturl int.id %}">
{% if int in user.get_profile.favorites.all %}
<div class="favorite favButton" style="display:none;">Favorite</div>
<div class="favorited favButton">Favorite</div>
{% else %}
<div class="favorite favButton">Favorite</div>
<div class="favorited favButton" style="display:none;">Favorite</div>
{% endif %}
</div>
和
<div class="favButtonHolder" alt="{% url inturl result.object.id %}">
{% if result.object in user.get_profile.favorites.all %}
<div class="favorite favButton" style="display:none;">Favorite</div>
<div class="favorited favButton">Favorite</div>
{% else %}
<div class="favorite favButton">Favorite</div>
<div class="favorited favButton" style="display:none;">Favorite</div>
{% endif %}
</div>
和一些配套的jQuery: $(文件)。就绪(函数(){
// Selecting Favorites
$('.favButtonHolder').click(function() {
var container = $(this);
$.get(container.attr('alt'), {'fav': 1}, function() {
container.find('.favButton').toggle();
});
});
});
由于某些原因,当我切换代码的第一位时,它的工作原理是f国家统计局。它隐藏适当的div并显示正确的div。
由于某些未知原因,当我切换第二位代码时,它会翻转几毫秒,然后翻转(隐藏变为块,然后几乎立即隐藏,反之亦然)。它正在执行GET,但不能正确切换。
为什么会发生这种情况?
你有两次在你的JS文件的jQuery的位,或只是一次?如果你把它重复了,它会被调用两次,因此用'.toggle()'来取消它自己。 – Bojangles
神圣的废话,我是多么愚蠢。我将它从第一个模板文件移出到JS文件中,并忘记将其移出第二个模板文件所在的失败代码所在的位置。谢谢,伟大的想法。 –
很高兴我能帮上忙。我通过犯同样的错误发现了这个解决方案! – Bojangles