Heim > Fragen und Antworten > Hauptteil
Wie im Titel gezeigt, gibt es nach jeder Zeile eine Schaltfläche, um an der Spitze zu bleiben. Aufgrund der Selbstaktualisierung und des erneuten Abrufens der Daten kann die oberste Position nicht beibehalten werden bei jeder Aktualisierung
Code:
$(".top").click(function(){
var $tr = $(this).parents("tr");
$tr.fadeOut().fadeIn();
$("tbody").prepend($tr);
$(this).css({"color":"red","font-weight":"bold"});
});
Tatsächlich hat dieser Teil des Codes keinen Einfluss auf die Lösung des Problems. Ich möchte hauptsächlich wissen, wie er mit dem Hintergrund interagiert oder globale Variablen im Vordergrund beeinflusst, um die aktuelle Spitzenposition beizubehalten
習慣沉默2017-06-26 10:56:48
得看看你这个置顶是永久性的还是一时性的!
如果是永久性的置顶,那你的数据肯定是存储在数据库里的,并且有个字段用来标识该条数据是否为置顶数据,绑定到前端的时候,通过标识来判断这条数据是否置顶,这个就完全不需要前端来考虑这个问题吧?你在前端只不过是把这部分数据展示而已。
如果你的置顶只是一时性的,你可以在每次请求ajax数据之前,获取到置顶数据行的某列数据作为标识(这 个由你自己来定,不过该列的值必须是唯一的),然后再去请求ajax数据,在绑定的时候,用你存储下来的标识跟请求到数据进行判断,相等的话就把改行数据设置为置顶。(感觉写这种置顶没多大意义, 因为这种置顶数据只有你自己能看的到,要是你把页面关闭了一样没用,毕竟不是永久性的)
代言2017-06-26 10:56:48
直接叫你们后台写个接口,当你点击置顶的时候,把这条数据的id传到后台,再让后台把它排到第一条数据返回给你,这样即使有settimeout你接收到的也是你置顶后的数据啦