Some notes for getting WordPress and jScrollPane working.
I wasn’t interested in the plugin because it is out of date and seems to carry a log of baggage.
These links were helpful:
http://jscrollpane.kelvinluck.com/
http://jscrollpane.kelvinluck.com/dynamic_width.html
http://matthewruddy.com/using-jquery-with-wordpress/
My code in an add_action function to wp_head:
<?php
add_action( 'wp_enqueue_script', 'load_jquery' );
function load_jquery() {
wp_enqueue_script( 'jquery' );
}
?>
<!-- the mousewheel plugin - optional to provide mousewheel support -->
<script type="text/javascript" src="wp-content/themes/some path.../jquery.mousewheel.js"></script>
<!-- the jScrollPane script -->
<script type="text/javascript" src="wp-content/themes/some path.../jquery.jscrollpane.min.js"></script>
<script type="text/javascript" src="wp-content/themes/some path.../resize.js"></script>
<script type="text/javascript" id="sourcecode">
jQuery(document).ready(function($) {
// Code here will be executed on document ready. Use $ as normal.
$('.scroll-pane').jScrollPane({mouseWheelSpeed: 30});
});
</script>
I had to set the mouse wheel speed; it was way too slow, default is 3.
resize.js didn’t work without modification.
(function($) {
// added outer stuff to get resize working with js wordpress way 2013-05-13
$(function()
{
$('.scroll-pane').each(
function()
{
$(this).jScrollPane(
{
showArrows: $(this).is('.arrow')
}
);
var api = $(this).data('jsp');
var throttleTimeout;
$(window).bind(
'resize load', //added load 2013-04-30 so the images would fit on android
function()
{
if ($.browser.msie) {
// IE fires multiple resize events while you are dragging the browser window which
// causes it to crash if you try to update the scrollpane on every one. So we need
// to throttle it to fire a maximum of once every 50 milliseconds...
if (!throttleTimeout) {
throttleTimeout = setTimeout(
function()
{
api.reinitialise();
throttleTimeout = null;
},
50
);
}
} else {
api.reinitialise();
}
}
);
}
)
});
})(jQuery);
The containing anonymous function was needed to get this working with WordPress. I added load because this prevents panes with photos loaded from a third party site from being incorrectly rendered. Without it the space they take up is not accounted for.