我为下一个和上一个按钮创建了这个功能,换句话说,我的html页面中有2个按钮,当我点击下一个或上一个时,单片眼镜中的页面也会相应移动, 我读到我必须使用自定义页面翻录器,但他们没有提供如何创建一个的示例。
这是我尝试过的失败:
function fileSelected(event,str) {
var thefile = document.getElementById('file');
var tval = thefile.value;
var ext = tval.split('.').pop();
var files = event.target.files;
var fname = tval.split(/(\\|\/)/g).pop();
if (ext == "epub" || ext == "EPUB"){
function createReader(bookData) {
Monocle.Reader("reader", bookData);
}
new Epub(files[0], createReader);
}else if(ext == "htm" || ext == "htm" || ext == "html" || ext == "HTML"){
var bookData = {
getComponents: function () {
return [
fname
];
},
getContents: function () {
return [
{title: "test", src: fname}
]
},
getComponent: function (componentId) {
return {url:componentId};
},
getMetaData: function(key) {
return {
title: "Test documents",
creator: "Aron Woost"
}[key];
}
}
window.reader = Monocle.Reader('reader', bookData);
}else{
return false;
}
}
function next(){
Monocle.Reader('reader', {}, {}, function (reader) {
reader.moveTo({ direction: 1 });
});
}
单击“下一步”将在我的控制台中显示未定义的错误。
如何实现自定义页面翻页器的任何想法?
https://github.com/joseph/Monocle/wiki/Page-flippers
我在JS中并不精通。抱歉:(
答案 0 :(得分:4)
我认为问题出在这个变量声明块中:
var thefile = document.getElementById('file');
var tval = thefile.value;
var ext = tval.split('.').pop();
var files = event.target.files;
var fname = tval.split(/(\\|\/)/g).pop();
是否有适用“值”属性的输入字段,例如<input type="text" id="file">
?
你确定文件名肯定会有一个点,即扩展名?
同样event.target.files
看起来很可疑。
如果没有任何问题,请告诉控制台显示错误的哪一行。您可以双击错误以突出显示错误的行。