我有两位代码,几乎相同
<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: $(document).ready(function(){
// Selecting Favorites
$('.favButtonHolder').click(function() {
var container = $(this);
$.get( container.attr('alt'), {'fav': 1}, function() {
container.find('.favButton').toggle();
});
});
});
出于某种原因,当我在第一位代码上切换时,它的工作正常。它隐藏了正确的div并显示正确的div。
由于某些未知原因,当我在第二位代码上切换时,它会翻转几毫秒然后翻转(隐藏变为阻塞,然后几乎立即隐藏,反之亦然)。它正在执行GET,但没有正确切换。
为什么会这样?
答案 0 :(得分:1)
从我的评论中做出回答
检查您的JavaScript文件,看看您是否复制了您发布的代码。如果它出现在两个地方,当.click()
事件触发时,将触发两个GET请求和两个.toggle()
,相对于后者相互抵消。检查您的JS文件是否有重复的代码(如您所示)并将其删除以解决您的问题。