Jetzt habe ich zwei Schaltflächen, die es mir ermöglicht, einen Benutzer zu folgen oder nicht zu folgen, indem Sie auf meine Follower-Liste. Wenn zum Beispiel jemand bereits in meinen Followern ist, erscheint die Schaltfläche "Nicht mehr anzeigen", in anderen Fällen erscheint die Schaltfläche "Folge".Ersetzen einer Schaltfläche durch eine andere mit ReplaceWith()
followProfile: function (e) {
var personalData = $('#personal-information').serializeObject();
var postParams = {
csrfmiddlewaretoken: $.cookie('csrftoken'),
personal_data: JSON.stringify(personalData)
};
$.post('/follow/', postParams, function(resp) {
$(".follow-button").replaceWith($(".unfollow-button").show());
})
},
unfollowProfile: function (e) {
var personalData = $('#personal-information').serializeObject();
var postParams = {
csrfmiddlewaretoken: $.cookie('csrftoken'),
personal_data: JSON.stringify(personalData)
};
$.post('/unfollow/', postParams, function(resp) {
$(".unfollow-button").replaceWith($(".follow-button").show());
})
},
Hier ist es mein Problem; Wenn ich klicke, um jemandem zu folgen, ändert sich die Schaltfläche und es wird nicht mehr angezeigt. Wenn ich jedoch noch einmal auf "unfollow" klicke, wird die Schaltfläche ausgeblendet. Ich bin neu in Javascript und Backbone.js, also habe ich diese Methode noch nie zuvor benutzt. Kannst du mir sagen, warum der Knopf verschwindet? Was ist hier falsch?
Erläuterung: Wenn ich "unfollow" anrufe, ersetzt es unfollow, um korrekt zu folgen (jetzt folgt es). Aber wenn ich jetzt folge, verschwindet anstelle des "unfollow" Knopfes.
Oh, ich sehe deinen Punkt richtig, aber wenn ich .show(); schreibe, verschwindet es immer noch:/Ich bearbeite die Frage. Vielen Dank für Ihre Antwort und Korrektur. – waterkinq
Ich habe meine Antwort bearbeitet. Sehen Sie, ob das hilft. – cani
Es gibt das gleiche Ergebnis. Zuerst ändert es sich, bis zum unfollow Knopf richtig, aber wieder kann ich nicht unfollow ändern, um zurück zu folgen. Ich denke, dass die Funktion replaceWith() überschreibt. Ich meine, wenn "follow" zu "unfollow" macht, gibt es keine Möglichkeit, "unfollow" zu "follow" zu ändern. – waterkinq