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