joseph / Monocle

A silky, tactile browser-based ebook JavaScript library.
http://monocle.inventivelabs.com.au
MIT License
743 stars 200 forks source link

how do I implement the scrubber? #150

Open impnguyen opened 11 years ago

impnguyen commented 11 years ago

Hello guys,

i would like to implement the scrubber control into the reader. I already generate my epub books with the monocle js framework and it's amazing, but i dont know why the scrubber doesnt work for me...

my implementation:

[code] Monocle.Events.listen( window, 'load', function (){ var readerOptions = { panels: Monocle.Panels.Marginal };

            Monocle.Reader('reader', bookData, readerOptions, function (rdr) {
                window.reader3 = rdr;
                var scrubber = new Monocle.Controls.Scrubber(rdr);
                rdr.addControl(scrubber);
            });
        }
)

[/code]

I noticed, that there are changes. For example I can copy phrases out of the page. With my default code I couldn*t do this.

It doens't show me anything. I already linked the .js files. And I didn't change the styesheet, so it has to be shown, but it does not. I don't know why -.-

sangari commented 11 years ago

hai, i have used the code below it works corrrectly.

var scrubber = new Monocle.Controls.Scrubber(reader); reader.addControl(scrubber, 'standard', { hidden: true }); var showFn = function (evt) { evt.stopPropagation(); reader.showControl(scrubber); scrubber.updateNeedles(); } for (var i = 0; i < chapterTitle.runners.length; ++i) { Monocle.Events.listenForContact( chapterTitle.runners[i].parentNode, { start: showFn } ); Monocle.Events.listenForContact( pageNumber.runners[i].parentNode, { start: showFn } ); }

fedorinoGore commented 8 years ago

Hi. Have just the same issue. Scrubber is just not shown...

Monocle.Events.listen(window, 'load', function() {
            var readerOptions = {};
            readerOptions.panels = Monocle.Panels.Magic;

            window.reader = Monocle.Reader('rdr', bookData, readerOptions, function(rdr) {
                var scrubber = new Monocle.Controls.Scrubber(rdr);
                rdr.addControl(scrubber);
                rdr.showControl(scrubber);

               var showFn = function (evt) {
                    evt.stopPropagation();
                    reader.showControl(scrubber);
                    scrubber.updateNeedles();
                }
                for (var i = 0; i < chapterTitle.runners.length; ++i) {
                    Monocle.Events.listenForContact(
                        chapterTitle.runners[i].parentNode,
                        { start: showFn }
                    );
                    Monocle.Events.listenForContact(
                        pageNumber.runners[i].parentNode,
                        { start: showFn }
                    );
                }
                reader.moveTo({
                    page: 1
                });
            });
        });