2016-05-17 82 views
1

說我有一張桌子,我想在頁面大小上將attr更改爲true。 我目前的代碼無效。更改attr值在屏幕上調整大小

<table data-toggle="table" 
     data-pagination="true" 
     data-search="true" 
     data-show-toggle="true" 
     data-show-columns="true" 
     data-card-view="false"> 
<thead> 

$(document).ready(function() { 
    $(window).resize(function() { 
    if ($(window).width() < 990) { 
     $('table').attr('data-card-view', 'true') 
    } else { 
     $('table').attr('data-card-view', 'false') 
    } 
    } 
)}) 
+3

請包括你的意思是「不工作」。什麼不起作用?發生了什麼,你期望發生什麼?開發者控制檯中是否有錯誤? – CherryDT

+0

attr val沒有得到更新@CherryDT – agDev

+1

好的,但是關於錯誤的問題的答案是什麼?你檢查了控制檯嗎? – CherryDT

回答

1

我猜測,屬性更改正確,你在瀏覽器的devtools檢查?

我猜你的桌牌視圖沒有更新,即使屬性發生了變化

這是因爲引導程序的自定義「魔術屬性」會導致您的HTML元素髮生特殊情況,只有在頁面加載時或您明確要求引導程序執行時纔會進行解析。

事實上,已經有一個功能卡視圖和正常視圖之間切換:.bootstrapTable('toggleView')

if(($(window).width() < 990) != $('table').bootstrapTable('getOptions').cardView) { 
    $('table').bootstrapTable('toggleView'); 
} 

說明:if((condition x) != (condition y))if((condition x && !condition y) || (!condition x && condition y))的簡寫。在我的示例中,它在第二種情況下無需變形,因爲something < 990將評估爲truefalse,因此我可以直接將其與布爾成員cardView進行比較。

查看documentation

+0

我在找什麼。多謝兄弟! – agDev

-3

我認爲這是一個語法錯誤。 檢查了這一點:

$(document).ready(function() { 
    $(window).resize(function() { 
     if ($(window).width() < 990) { 
      $('table').attr('data-card-view', 'true'); 
     } else { 
      $('table').attr('data-card-view', 'false'); 
     } 
    }); 
}); 

您不關閉.resize().ready()功能。

加小提琴:https://jsfiddle.net/1kon3dfk/1/

+0

請同時指出語法錯誤是什麼。 – CherryDT

+0

分號在OP編碼之前,由於某種原因被編輯出來,但無論如何代碼應該可以使用和不使用分號。他確實關閉了調整大小並準備好了,你的代碼很乾淨,但在執行時沒有任何不同。 – zoubida13

+0

@CherryDT你說得對。我已經添加了我認爲給出錯誤的2個錯誤。 –

0

這裏是在Javascript(香草)一個可能的解決方案。檢查是否沒有其他'onresize'事件,或者這個可以被覆蓋。

var table = document.getElementsByTagName('table')[0]; 
window.onresize = function() { 
    if (window.innerWidth < 990) 
    table.setAttribute('data-card-view', 'true'); 
    else 
    table.setAttribute('data-card-view', 'false'); 
} 
+0

只是一個人,你在if/else中複製/粘貼true。 – RayfenWindspear

+0

你說得對,謝謝 –

+0

我沒有使用vanilla js,謝謝 – agDev