Skip to content

Commit

Permalink
Adds .jshintrc and does some slider cleanup.
Browse files Browse the repository at this point in the history
  • Loading branch information
jeremyckahn committed Jul 21, 2013
1 parent f83a67e commit 661eade
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 14 deletions.
38 changes: 38 additions & 0 deletions .jshintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{

"globals": {
"__note": "These variables aren't actually exposed as globals. They are here to keep JSHint from showing spurious warnings - they are all either defined in rekapi.core.js or one of the dependencies.",
"KAPI_DEBUG": true,
"fireEvent": true,
"recalculateAnimationLength": true,
"rekapiCore": true,
"rekapiActor": true,
"rekapiKeyframeProperty": true,
"rekapiDOM": true,
"rekapiToCSS": true,
"rekapiCanvasContext": true,
"rekapiCanvasActor": true,
"define": true,
"noop": true,
"_": true
},

"asi": false,
"boss": true,
"browser": true,
"curly": true,
"eqeqeq": true,
"eqnull": true,
"immed": true,
"lastsemic": true,
"latedef": true,
"laxbreak": true,
"laxcomma": true,
"newcap": true,
"noarg": true,
"nomen": false,
"plusplus": false,
"sub": true,
"undef": true,
"white": false
}
41 changes: 27 additions & 14 deletions src/jquery.dragon-slider.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
/**
* jQuery Dragon Slider. It's a slider plugin!
* v0.1.0
* By Jeremy Kahn (jeremyckahn@gmail.com)
* Depends on jQuery jquery.dragon.js
* MIT License.
Expand All @@ -17,7 +16,7 @@
// CONSTANTS
var DEFAULTS = {
'width': 250
,'increment': .02
,'increment': 0.02
,'drag': $.noop
};
var KEY_RIGHT = 39;
Expand All @@ -34,7 +33,13 @@
}


// PUBLIC $.fn FUNCTIONS
//


/**
* Initialize a slider.
*
* @param {Object=} opts
* @param {number} width Width of the slider.
* @param {Function(number)} drag The drag event handler. Receives the
Expand All @@ -48,6 +53,8 @@


/**
* Set the normalized value of the slider.
*
* @param {number} val Between 0 and 1.
* @param {boolean} triggerDrag True to trigger the drag event handler, false
* not to.
Expand All @@ -67,18 +74,24 @@


/**
* Get the normalized value of the slider.
*
* @return {number} Between 0 and 1.
*/
$.fn.dragonSliderGet = function () {
var $handle = this.find('.dragon-slider-handle');
var left = +$handle.css('left').replace(/px/, '');
var left = parseInt($handle.css('left'), 10);
return left / getInnerSliderWidth(this, $handle);
};


// PRIVATE HELPER FUNCTIONS
//


/**
* @param {jQuery} $els
* @param {Object} opts
* @param {Object} opts Same as opts from $.fn.dragonSlider.
*/
function initDragonSliderEls ($els, opts) {
$els.each(function (i, el) {
Expand All @@ -95,10 +108,10 @@


/**
* @param {jQuery} $container
* @param {jQuery} $container The element to contain the handle.
*/
function createDragHandle ($container) {
var $handle = $(document.createElement('BUTTON'));
var $handle = $(document.createElement('button'));
var data = $container.data('dragon-slider');
$handle.addClass('dragon-slider-handle');
$handle.dragon({
Expand All @@ -115,15 +128,15 @@


/**
* @param {Object} ev
* @param {jQuery.Event} evt
*/
function onHandleKeydown (ev) {
function onHandleKeydown (evt) {
var $el = $(this);
var $parent = $el.parent();
var current = $parent.dragonSliderGet();
var data = $parent.data('dragon-slider');
var increment = data.increment;
var key = ev.which;
var key = evt.which;

if (key === KEY_LEFT) {
$parent.dragonSliderSet(current - increment);
Expand All @@ -135,16 +148,16 @@


/**
* @param {Object} ev
* @param {jQuery.Event} evt
*/
function onSliderMousedown (ev) {
if (ev.target === this) {
function onSliderMousedown (evt) {
if (evt.target === this) {
var $el = $(this);
var $handle = $el.find('.dragon-slider-handle');
var offset = ev.clientX - $el.offset().left;
var offset = evt.clientX - parseInt($el.css('left'), 10);
offset -= $handle.outerWidth() / 2;
$el.dragonSliderSet(offset / getInnerSliderWidth($el, $handle));
$handle.trigger('mousedown', [ev.pageX, ev.pageY]);
$handle.trigger('mousedown', [evt.pageX, evt.pageY]);
}
}

Expand Down

0 comments on commit 661eade

Please sign in to comment.