- <script type="text/javascript" charset="utf-8">
- function aboveViewport(container, element, treshold) {
- return $(container).offset().top >= $(element).offset().top + $(element).height() + treshold;
- }
-
- function belowViewport(container, element, treshold) {
- return $(container).offset().top + $(container).height() + treshold <= $(element).offset().top;
- }
-
- var TRESHOLD = 600;
- var lastScroll = -1000;
-
- function checkScroll() {
- console.log('checkScroll', $('#images').scrollTop(), lastScroll);
-
- if (Math.abs($('#images').scrollTop() - lastScroll) > 300) {
- console.log('checking!');
-
- var container = $('#images');
- lastScroll = container.scrollTop();
-
- $('#images .image-box').each(function() {
- if (aboveViewport(container, this, TRESHOLD)) {
- $(this).html('loading...');
- } else if (belowViewport(container, this, TRESHOLD)) {
- $(this).html('loading...');
- } else {
- $(this).html('<img src="' + $(this).attr('src') + '" width="460" height="460"/>');
- }
- })
- }
- setTimeout(checkScroll, 2000);
+ <script src="/static/js/codemirror/codemirror.js" type="text/javascript" charset="utf-8"></script>
+ <script type="text/javascript" charset="utf-8">
+ function addEditorButton(label, fn) {
+ $('<button type="button">' + label + '</button>').click(function(event) {
+ var text = $('#id_text').getSelection().text;
+ $('#id_text').replaceSelection(fn(text));
+ event.preventDefault();
+ }).appendTo('#buttons');