javascript - 用jquery實現表格行 置頂之后 如何跟后臺用ajax交互 在刷新之后仍保持當前位置?
問題描述
如題所示,在每行的后面有一個top按鈕,點擊置頂,由于有settimeout自刷新,并重新獲取數據,所以這個置頂位置并不能保持,每次刷新之后就沒有效果了
代碼:
$('.top').click(function(){ var $tr = $(this).parents('tr'); $tr.fadeOut().fadeIn();$('tbody').prepend($tr); $(this).css({'color':'red','font-weight':'bold'});});
其實這部分代碼對解決問題沒什么作用,主要還是想知道如何與后臺交互 或者在前臺影響全局變量,從而保持當前置頂位置
問題解答
回答1:得看看你這個置頂是永久性的還是一時性的!
如果是永久性的置頂,那你的數據肯定是存儲在數據庫里的,并且有個字段用來標識該條數據是否為置頂數據,綁定到前端的時候,通過標識來判斷這條數據是否置頂,這個就完全不需要前端來考慮這個問題吧?你在前端只不過是把這部分數據展示而已。
如果你的置頂只是一時性的,你可以在每次請求ajax數據之前,獲取到置頂數據行的某列數據作為標識(這 個由你自己來定,不過該列的值必須是唯一的),然后再去請求ajax數據,在綁定的時候,用你存儲下來的標識跟請求到數據進行判斷,相等的話就把改行數據設置為置頂。(感覺寫這種置頂沒多大意義, 因為這種置頂數據只有你自己能看的到,要是你把頁面關閉了一樣沒用,畢竟不是永久性的)
回答2:直接叫你們后臺寫個接口,當你點擊置頂的時候,把這條數據的id傳到后臺,再讓后臺把它排到第一條數據返回給你,這樣即使有settimeout你接收到的也是你置頂后的數據啦
相關文章:
1. angular.js - 如何從AngularJS遷移到Vue?2. css - AngularJS如何判斷不同情況設置不同背景色??3. css - 求推薦幾款好用的移動端頁面布局調試工具呢?4. javascript - jquery ajax 用jsonp的方式跨域訪問,為什么報錯5. CSS3 中 transition-duration 對 display: none/block 屬性無效?6. css3 - 根據效果,分析一下該動態是如何實現的?7. javascript - 如何利用vue組件 動態生成router-link8. javascript - jQuery中live事件在移動微信端下沒有效果;代碼如下9. javascript - 微信小程序中設置頭像 里面的圖片路徑是怎么解決的 我把接口生成的路徑存到數據庫中 2次訪問時就顯示不出來了10. javascript - 微信小程序的分享問題
