這裏是我當前的代碼一個DIV內更改每個號碼到其自己的變量
http://codepen.io/anon/pen/qbEGyB
這裏特別是JavaScript部分
function readBlob(opt_startByte, opt_stopByte) {
var files = document.getElementById('files').files;
if (!files.length) {
alert('Please select a file!');
return;
}
var file = files[0];
var start = parseInt(opt_startByte) || 0;
var stop = parseInt(opt_stopByte) || file.size - 1;
var reader = new FileReader();
// If we use onloadend, we need to check the readyState.
reader.onloadend = function(evt) {
if (evt.target.readyState == FileReader.DONE) { // DONE == 2
document.getElementById('byte_content').textContent = evt.target.result;
}
};
var blob = file.slice(start, stop + 1);
reader.readAsBinaryString(blob);
}
document.querySelector('.readBytesButtons').addEventListener('click', function(evt) {
if (evt.target.tagName.toLowerCase() == 'button') {
var startByte = evt.target.getAttribute('datastart');
var endByte = evt.target.getAttribute('dataend');
readBlob(startByte, endByte);
}
}, false
);
這還需要一個普通的舊.txt文件,其包含以下內容 - http://textuploader.com/5ucnk
這一切工作可愛,你上傳.txt文件,單擊「代碼」按鈕,它給你十個兩位數字。
但是,我沒有辦法解決在DIV內的個人兩位數字。有沒有辦法將DIV的內容分割,以便我可以將每組數字作爲自己的變量進行操作?
例如,假設我想創建一個按鈕,當按下按鈕時,序列的第一個數字將增加1.此數字由文本文件中的內容決定。我想「parseInt」會在這裏發揮作用,但我真的只想看看是否有一種方法可以控制BLOB函數的輸入(以便它可以將每個雙位數字分散到單獨的跨度中)或者只需找到一種方法將DIV內的每個特定的兩位數字作爲變量來處理。
有人在以前的文章中建議我用
var obj = {X:void 0, Y:void 0};
var res = document.querySelector("div").textContent.match(/\d+/g);
Object.keys(obj).forEach(function(val, i) {
obj[val] = res[i]
});
然而,這個附加到我的JavaScript,儘管改變「格」的名字,打破了我的代碼。
我真的有這個問題,所以任何幫助將不勝感激。
作品就像我想象的那樣。非常感謝你,我一直在爲這個周而努力! –