diff options
| author | Alvin Li <liweitianux@gmail.com> | 2013-08-22 15:18:58 +0800 | 
|---|---|---|
| committer | Alvin Li <liweitianux@gmail.com> | 2013-08-22 15:18:58 +0800 | 
| commit | 3f1d09f3b5b86157ccf9f47eef69a065be6153a4 (patch) | |
| tree | 84d424db169cea7daff7dc2ed7e045de15ec86eb /97suifangqa/apps/indicator/static/plugins/jquery-ui/demos/slider/side-scroll.html | |
| parent | 3ef1e03e4273544cce177ce7fa0e0ab75eded990 (diff) | |
| download | 97dev-3f1d09f3b5b86157ccf9f47eef69a065be6153a4.tar.bz2 | |
* added latest full package of 'jquery-ui' plugin, v1.10.3;
* improved 'thickbox' plugin to use 'jquery-1.9.x';
* upgraded 'SheetDefault.html', 'NewDeleteIndex.html' and other pages
  to use 'jquery-1.9.x';
* improved 'IndexDesc.html' to deal with the problem of no related
  annotation found;
* 'indicator.tools.get_record()' added param 'number', and updated
  the format of return data;
* added 'get_num_record()' and 'get_num_record_std()' to
  'indicator.tools';
* improved 'indicator.views.ajax_get_card_data_chart()',
  now can get data by 'num' or by 'date';
* improved 'indicator.views.ajax_get_card_data_table()',
  to provide the needed data requested from 'detail_card';
* improved js function 'chart_getdata_draw()' in 'SheetDefault.html';
* 'card_chart.js': renamed 'redraw_chart()' to
  'detail_chart_getdata_draw()', and updated to get data by type;
* updated 'table' of 'detail_card' in 'SheetDefault.html';
* improved js function 'get_card_data_table()' for providing and
  displaying record data in 'detail_card' table.
TODO:
* add/delete/edit record data
Diffstat (limited to '97suifangqa/apps/indicator/static/plugins/jquery-ui/demos/slider/side-scroll.html')
| -rw-r--r-- | 97suifangqa/apps/indicator/static/plugins/jquery-ui/demos/slider/side-scroll.html | 131 | 
1 files changed, 131 insertions, 0 deletions
diff --git a/97suifangqa/apps/indicator/static/plugins/jquery-ui/demos/slider/side-scroll.html b/97suifangqa/apps/indicator/static/plugins/jquery-ui/demos/slider/side-scroll.html new file mode 100644 index 0000000..346acb3 --- /dev/null +++ b/97suifangqa/apps/indicator/static/plugins/jquery-ui/demos/slider/side-scroll.html @@ -0,0 +1,131 @@ +<!doctype html> +<html lang="en"> +<head> +	<meta charset="utf-8"> +	<title>jQuery UI Slider - Slider scrollbar</title> +	<link rel="stylesheet" href="../../themes/base/jquery.ui.all.css"> +	<script src="../../jquery-1.9.1.js"></script> +	<script src="../../ui/jquery.ui.core.js"></script> +	<script src="../../ui/jquery.ui.widget.js"></script> +	<script src="../../ui/jquery.ui.mouse.js"></script> +	<script src="../../ui/jquery.ui.slider.js"></script> +	<link rel="stylesheet" href="../demos.css"> +	<style> +	.scroll-pane { overflow: auto; width: 99%; float:left; } +	.scroll-content { width: 2440px; float: left; } +	.scroll-content-item { width: 100px; height: 100px; float: left; margin: 10px; font-size: 3em; line-height: 96px; text-align: center; } +	.scroll-bar-wrap { clear: left; padding: 0 4px 0 2px; margin: 0 -1px -1px -1px; } +	.scroll-bar-wrap .ui-slider { background: none; border:0; height: 2em; margin: 0 auto;  } +	.scroll-bar-wrap .ui-handle-helper-parent { position: relative; width: 100%; height: 100%; margin: 0 auto; } +	.scroll-bar-wrap .ui-slider-handle { top:.2em; height: 1.5em; } +	.scroll-bar-wrap .ui-slider-handle .ui-icon { margin: -8px auto 0; position: relative; top: 50%; } +	</style> +	<script> +	$(function() { +		//scrollpane parts +		var scrollPane = $( ".scroll-pane" ), +			scrollContent = $( ".scroll-content" ); + +		//build slider +		var scrollbar = $( ".scroll-bar" ).slider({ +			slide: function( event, ui ) { +				if ( scrollContent.width() > scrollPane.width() ) { +					scrollContent.css( "margin-left", Math.round( +						ui.value / 100 * ( scrollPane.width() - scrollContent.width() ) +					) + "px" ); +				} else { +					scrollContent.css( "margin-left", 0 ); +				} +			} +		}); + +		//append icon to handle +		var handleHelper = scrollbar.find( ".ui-slider-handle" ) +		.mousedown(function() { +			scrollbar.width( handleHelper.width() ); +		}) +		.mouseup(function() { +			scrollbar.width( "100%" ); +		}) +		.append( "<span class='ui-icon ui-icon-grip-dotted-vertical'></span>" ) +		.wrap( "<div class='ui-handle-helper-parent'></div>" ).parent(); + +		//change overflow to hidden now that slider handles the scrolling +		scrollPane.css( "overflow", "hidden" ); + +		//size scrollbar and handle proportionally to scroll distance +		function sizeScrollbar() { +			var remainder = scrollContent.width() - scrollPane.width(); +			var proportion = remainder / scrollContent.width(); +			var handleSize = scrollPane.width() - ( proportion * scrollPane.width() ); +			scrollbar.find( ".ui-slider-handle" ).css({ +				width: handleSize, +				"margin-left": -handleSize / 2 +			}); +			handleHelper.width( "" ).width( scrollbar.width() - handleSize ); +		} + +		//reset slider value based on scroll content position +		function resetValue() { +			var remainder = scrollPane.width() - scrollContent.width(); +			var leftVal = scrollContent.css( "margin-left" ) === "auto" ? 0 : +				parseInt( scrollContent.css( "margin-left" ) ); +			var percentage = Math.round( leftVal / remainder * 100 ); +			scrollbar.slider( "value", percentage ); +		} + +		//if the slider is 100% and window gets larger, reveal content +		function reflowContent() { +				var showing = scrollContent.width() + parseInt( scrollContent.css( "margin-left" ), 10 ); +				var gap = scrollPane.width() - showing; +				if ( gap > 0 ) { +					scrollContent.css( "margin-left", parseInt( scrollContent.css( "margin-left" ), 10 ) + gap ); +				} +		} + +		//change handle position on window resize +		$( window ).resize(function() { +			resetValue(); +			sizeScrollbar(); +			reflowContent(); +		}); +		//init scrollbar size +		setTimeout( sizeScrollbar, 10 );//safari wants a timeout +	}); +	</script> +</head> +<body> + +<div class="scroll-pane ui-widget ui-widget-header ui-corner-all"> +	<div class="scroll-content"> +		<div class="scroll-content-item ui-widget-header">1</div> +		<div class="scroll-content-item ui-widget-header">2</div> +		<div class="scroll-content-item ui-widget-header">3</div> +		<div class="scroll-content-item ui-widget-header">4</div> +		<div class="scroll-content-item ui-widget-header">5</div> +		<div class="scroll-content-item ui-widget-header">6</div> +		<div class="scroll-content-item ui-widget-header">7</div> +		<div class="scroll-content-item ui-widget-header">8</div> +		<div class="scroll-content-item ui-widget-header">9</div> +		<div class="scroll-content-item ui-widget-header">10</div> +		<div class="scroll-content-item ui-widget-header">11</div> +		<div class="scroll-content-item ui-widget-header">12</div> +		<div class="scroll-content-item ui-widget-header">13</div> +		<div class="scroll-content-item ui-widget-header">14</div> +		<div class="scroll-content-item ui-widget-header">15</div> +		<div class="scroll-content-item ui-widget-header">16</div> +		<div class="scroll-content-item ui-widget-header">17</div> +		<div class="scroll-content-item ui-widget-header">18</div> +		<div class="scroll-content-item ui-widget-header">19</div> +		<div class="scroll-content-item ui-widget-header">20</div> +	</div> +	<div class="scroll-bar-wrap ui-widget-content ui-corner-bottom"> +		<div class="scroll-bar"></div> +	</div> +</div> + +<div class="demo-description"> +<p>Use a slider to manipulate the positioning of content on the page. In this case, it acts as a scrollbar with the potential to capture values if needed.</p> +</div> +</body> +</html>  | 
