Code:
return this.each( function() {
var direction = d.direction;
var drag = {
d: direction,
t: $( this ).attr( "rel" ),
id: $( this ),
setdimensions: function(orientation) { //DD added function
if (orientation=="horizontal"){
drag.b.css( { width: drag.id.width(), left: 0, bottom: 0, position: "absolute", "z-index": 10 } );
drag.c.css( { display: "block", position: "absolute", height: drag.id.height() - drag.b.height() - 5, "overflow-y": "hidden" } );
drag.s.css( { width: drag.b.width(), top: 0, width: 70, height: drag.b.height(), position: "absolute", "z-index": 100 } );
drag.tickB = parseFloat( parseInt( drag.c.width() - drag.s.parent().width() ) / parseInt( drag.s.parent().width() - drag.s.width() ) );
drag.tickC = parseFloat( parseInt( drag.s.parent().width() - drag.s.width() ) / parseInt( drag.c.width() - drag.s.parent().width() ) );
return [drag.b.width()-drag.s.width(),drag.id.width()-drag.c.width()];
}
else{
drag.b.css( { height: drag.id.height(), right: 0, top: 0, position: "absolute" } );
drag.c.css( { display: "block", position: "absolute", width: drag.id.width() - drag.b.width() - 5 } );
drag.s.css( { width: drag.b.width(), top: 0, height: 70, position: "absolute" } );
drag.tickB = parseFloat( parseInt( drag.c.height() - drag.s.parent().height() ) / parseInt( drag.s.parent().height() - drag.s.height() ) );
drag.tickC = parseFloat( parseInt( drag.s.parent().height() - drag.s.height() ) / parseInt( drag.c.height() - drag.s.parent().height() ) );
return [drag.b.height()-drag.s.height(),drag.id.height()-drag.c.height()];
}
},
Code:
switch ( drag.d ) {
case "horizontal":
drag.elements( "horizontal" );
var maxs=drag.setdimensions( "horizontal" );
drag.s.data( { click: false } );
drag.s.mouseover( function() {
drag.s.data( { click: true } );
});
drag.s.mouseout( function() {
drag.s.data( { click: false } );
});
drag.s.mousedown( function( f ) {
f.preventDefault();
drag.s.data( { hold: false } );
var initial = drag.s.parent().offset().left - ( drag.s.offset().left - f.pageX );
$( document ).mousemove( function( e ) {
e.preventDefault();
if ( drag.s.data( "hold" ) == false )
{
drag.s.css( { left: Math.min(Math.max(e.pageX - initial,0),maxs[0]) } );
drag.c.css( { left: Math.max(Math.min(- drag.tickB * ( e.pageX - initial ),0),maxs[1]) } );
}
});
});
$( document ).mouseup( function() {
drag.redrawH();
});
drag.b.click( function( e ) {
if ( drag.s.data( "click" ) == false )
{
var initial = drag.s.parent().offset().left + ( drag.s.width() / 2 );
drag.s.animate( { left: e.pageX - initial } );
drag.c.animate( { left: - drag.tickB * ( e.pageX - initial ) }, {
complete: function() {
drag.redrawH();
}
});
}
});
break;
case "vertical":
drag.elements( "vertical" );
var maxs=drag.setdimensions( "vertical" );
drag.s.data( { click: false } );
drag.s.mouseover( function() {
drag.s.data( { click: true } );
});
drag.s.mouseout( function() {
drag.s.data( { click: false } );
});
drag.s.mousedown( function( f ) {
f.preventDefault();
drag.s.data( { hold: false } );
var initial = drag.s.parent().offset().top - ( drag.s.offset().top - f.pageY );
$( document ).mousemove( function( e ) {
e.preventDefault();
if ( drag.s.data( "hold" ) == false )
{
drag.s.css( { top: Math.min(Math.max(e.pageY - initial,0),maxs[0]) } );
drag.c.css( { top: Math.max(Math.min(- drag.tickB * ( e.pageY - initial ),0),maxs[1]) } );
}
});
});
$( document ).mouseup( function() {
drag.redrawV();
});
drag.b.click( function( e ) {
if ( drag.s.data( "click" ) == false )
{
var initial = drag.s.parent().offset().top + ( drag.s.height() / 2 );
drag.s.animate( { top: e.pageY - initial } );
drag.c.animate( { top: - drag.tickB * ( e.pageY - initial ) }, {
complete: function() {
drag.redrawV();
}
});
}
});
break;
}
Bookmarks