Merge branch 'master' of https://github.com/kubernetes/kubernetes.github.io into release-1.6
* 'master' of https://github.com/kubernetes/kubernetes.github.io: Replace the tab with 4 spaces in md files (#2797) fix link error Replace the tab with 4 spaces in html files hitting the `ClusterIP` from a pod (#2826) # Conflicts: # docs/admin/accessing-the-api.md # docs/api-reference/extensions/v1beta1/definitions.html # docs/getting-started-guides/kubeadm.md # docs/user-guide/kubectl/index.md
This commit is contained in:
@@ -132,7 +132,7 @@ By default the Kubernetes API server serves HTTP on 2 ports:
|
||||
1. `Localhost Port`:
|
||||
|
||||
- is intended for testing and bootstrap, and for other components of the master node
|
||||
(scheduler, controller-manager) to talk to the API
|
||||
(scheduler, controller-manager) to talk to the API
|
||||
- no TLS
|
||||
- default is port 8080, change with `--insecure-port` flag.
|
||||
- defaults IP is localhost, change with `--insecure-bind-address` flag.
|
||||
|
||||
@@ -229,7 +229,7 @@ cross-zone attachments are not generally permitted by cloud providers:
|
||||
|
||||
```shell
|
||||
> kubectl describe pod mypod | grep Node
|
||||
Node: kubernetes-minion-9vlv/10.240.0.5
|
||||
Node: kubernetes-minion-9vlv/10.240.0.5
|
||||
> kubectl get node kubernetes-minion-9vlv --show-labels
|
||||
NAME STATUS AGE LABELS
|
||||
kubernetes-minion-9vlv Ready 22m beta.kubernetes.io/instance-type=n1-standard-2,failure-domain.beta.kubernetes.io/region=us-central1,failure-domain.beta.kubernetes.io/zone=us-central1-a,kubernetes.io/hostname=kubernetes-minion-9vlv
|
||||
@@ -268,9 +268,9 @@ The pods should be spread across all 3 zones:
|
||||
|
||||
```shell
|
||||
> kubectl describe pod -l app=guestbook | grep Node
|
||||
Node: kubernetes-minion-9vlv/10.240.0.5
|
||||
Node: kubernetes-minion-281d/10.240.0.8
|
||||
Node: kubernetes-minion-olsh/10.240.0.11
|
||||
Node: kubernetes-minion-9vlv/10.240.0.5
|
||||
Node: kubernetes-minion-281d/10.240.0.8
|
||||
Node: kubernetes-minion-olsh/10.240.0.11
|
||||
|
||||
> kubectl get node kubernetes-minion-9vlv kubernetes-minion-281d kubernetes-minion-olsh --show-labels
|
||||
NAME STATUS AGE LABELS
|
||||
|
||||
@@ -64,16 +64,16 @@ Or you can get detailed information with:
|
||||
|
||||
```shell
|
||||
$ kubectl describe namespaces <name>
|
||||
Name: default
|
||||
Labels: <none>
|
||||
Status: Active
|
||||
Name: default
|
||||
Labels: <none>
|
||||
Status: Active
|
||||
|
||||
No resource quota.
|
||||
|
||||
Resource Limits
|
||||
Type Resource Min Max Default
|
||||
---- -------- --- --- ---
|
||||
Container cpu - - 100m
|
||||
Type Resource Min Max Default
|
||||
---- -------- --- --- ---
|
||||
Container cpu - - 100m
|
||||
```
|
||||
|
||||
Note that these details show both resource quota (if present) as well as resource limit ranges.
|
||||
|
||||
+6475
File diff suppressed because it is too large
Load Diff
+244
-244
@@ -1,252 +1,252 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo</title>
|
||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<link type="text/css" rel="stylesheet" href="css/style.css" />
|
||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
jQuery(function( $ ){
|
||||
/**
|
||||
* Demo binding and preparation, no need to read this part
|
||||
*/
|
||||
//borrowed from jQuery easing plugin
|
||||
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
||||
$.easing.elasout = function(x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||
};
|
||||
$('a.back').click(function() {
|
||||
$(this).parents('div.pane').scrollTo(0, 800, { queue:true });
|
||||
$(this).parents('div.section').find('span.message').text( this.title);
|
||||
return false;
|
||||
});
|
||||
//just for the example, to stop the click on the links.
|
||||
$('ul.links').click(function(e){
|
||||
var link = e.target;
|
||||
if (link.target === '_blank') {
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
link.blur();
|
||||
if (link.title) {
|
||||
$(this).parent().find('span.message').text(link.title);
|
||||
}
|
||||
});
|
||||
|
||||
// This one is important, many browsers don't reset scroll on refreshes
|
||||
// Reset all scrollable panes to (0,0)
|
||||
$('div.pane').scrollTo(0);
|
||||
// Reset the screen to (0,0)
|
||||
$.scrollTo(0);
|
||||
|
||||
// TOC, shows how to scroll the whole window
|
||||
$('#toc a').click(function() {//$.scrollTo works EXACTLY the same way, but scrolls the whole screen
|
||||
$.scrollTo(this.hash, 1500, { easing:'elasout' });
|
||||
$(this.hash).find('span.message').text(this.title);
|
||||
return false;
|
||||
});
|
||||
|
||||
// Target examples bindings
|
||||
var $target = $('#pane-target');
|
||||
$('#target-examples a').click(function() {
|
||||
$target.stop(true);
|
||||
});
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo</title>
|
||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<link type="text/css" rel="stylesheet" href="css/style.css" />
|
||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
jQuery(function( $ ){
|
||||
/**
|
||||
* Demo binding and preparation, no need to read this part
|
||||
*/
|
||||
//borrowed from jQuery easing plugin
|
||||
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
||||
$.easing.elasout = function(x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||
};
|
||||
$('a.back').click(function() {
|
||||
$(this).parents('div.pane').scrollTo(0, 800, { queue:true });
|
||||
$(this).parents('div.section').find('span.message').text( this.title);
|
||||
return false;
|
||||
});
|
||||
//just for the example, to stop the click on the links.
|
||||
$('ul.links').click(function(e){
|
||||
var link = e.target;
|
||||
if (link.target === '_blank') {
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
link.blur();
|
||||
if (link.title) {
|
||||
$(this).parent().find('span.message').text(link.title);
|
||||
}
|
||||
});
|
||||
|
||||
// This one is important, many browsers don't reset scroll on refreshes
|
||||
// Reset all scrollable panes to (0,0)
|
||||
$('div.pane').scrollTo(0);
|
||||
// Reset the screen to (0,0)
|
||||
$.scrollTo(0);
|
||||
|
||||
// TOC, shows how to scroll the whole window
|
||||
$('#toc a').click(function() {//$.scrollTo works EXACTLY the same way, but scrolls the whole screen
|
||||
$.scrollTo(this.hash, 1500, { easing:'elasout' });
|
||||
$(this.hash).find('span.message').text(this.title);
|
||||
return false;
|
||||
});
|
||||
|
||||
// Target examples bindings
|
||||
var $target = $('#pane-target');
|
||||
$('#target-examples a').click(function() {
|
||||
$target.stop(true);
|
||||
});
|
||||
|
||||
$('#relative-selector').click(function() {
|
||||
$target.scrollTo('li:eq(7)', 800);
|
||||
});
|
||||
$('#jquery-object').click(function() {
|
||||
$target.scrollTo($('#pane-target li:eq(14)') , 800);
|
||||
});
|
||||
$('#dom-element').click(function() {
|
||||
$target.scrollTo(document.getElementById('twenty'), 800);
|
||||
});
|
||||
$('#absolute-number').click(function() {
|
||||
$target.scrollTo(150, 800);
|
||||
});
|
||||
$('#absolute-number-hash').click(function() {
|
||||
$target.scrollTo({ top:800, left:700}, 800);
|
||||
});
|
||||
$('#absolute-px').click(function() {
|
||||
$target.scrollTo('520px', 800);
|
||||
});
|
||||
$('#absolute-px-hash').click(function() {
|
||||
$target.scrollTo({top:'110px', left:'290px'}, 800);
|
||||
});
|
||||
$('#relative-px').click(function() {
|
||||
$target.scrollTo('+=100', 500);
|
||||
});
|
||||
$('#relative-px-hash').click(function() {
|
||||
$target.scrollTo({top:'-=100px', left:'+=100'}, 500);
|
||||
});
|
||||
$('#percentage-px').click(function() {
|
||||
$target.scrollTo('50%', 800);
|
||||
});
|
||||
$('#percentage-px-hash').click(function() {
|
||||
$target.scrollTo({top:'50%', left:'20%'}, 800);
|
||||
});
|
||||
|
||||
// Settings examples bindings, they will all scroll to the same place, with different settings
|
||||
var $settings = $('#pane-settings');
|
||||
$('#settings-examples a').click(function() {
|
||||
// before each animation, reset to (0,0), skip this.
|
||||
$settings.stop(true).scrollTo(0);
|
||||
});
|
||||
|
||||
$('#settings-no').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000);
|
||||
});
|
||||
$('#settings-axis').click(function() {// only scroll horizontally
|
||||
$settings.scrollTo('li:eq(15)', 1000, { axis:'x' });
|
||||
});
|
||||
$('#settings-duration').click(function() {// it's the same as specifying it in the 2nd argument
|
||||
$settings.scrollTo('li:eq(15)', { duration: 3000 });
|
||||
});
|
||||
$('#settings-easing').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2500, { easing:'elasout' });
|
||||
});
|
||||
$('#settings-margin').click(function() {//scroll to the "outer" position of the element
|
||||
$settings.scrollTo('li:eq(15)', 1000, { margin:true });
|
||||
});
|
||||
$('#settings-offset').click(function() {//same as { top:-50, left:-50 }
|
||||
$settings.scrollTo('li:eq(15)', 1000, { offset:-50 });
|
||||
});
|
||||
$('#settings-offset-hash').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000, { offset:{ top:-5, left:-30 } });
|
||||
});
|
||||
$('#settings-offset-function').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});
|
||||
});
|
||||
$('#settings-over').click(function() {//same as { top:-50, left:-50 }
|
||||
$settings.scrollTo('li:eq(15)', 1000, { over:0.5 });
|
||||
});
|
||||
$('#settings-over-hash').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000, { over:{ top:0.2, left:-0.5 } });
|
||||
});
|
||||
$('#settings-interrupt').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 10000, { interrupt:true });
|
||||
});
|
||||
$('#settings-queue').click(function() {//in this case, having 'axis' as 'xy' or 'yx' matters.
|
||||
$settings.scrollTo('li:eq(15)', 2000, { queue:true });
|
||||
});
|
||||
$('#settings-onAfter').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2000, {
|
||||
onAfter:function() {
|
||||
$('#settings-message').text('Got there!');
|
||||
}
|
||||
});
|
||||
});
|
||||
$('#settings-onAfterFirst').click(function() {//onAfterFirst exists only when queuing
|
||||
$settings.scrollTo('li:eq(15)', 1600, {
|
||||
queue:true,
|
||||
onAfterFirst:function() {
|
||||
$('#settings-message').text('Got there horizontally!');
|
||||
},
|
||||
onAfter:function() {
|
||||
$('#settings-message').text('Got there vertically!');
|
||||
}
|
||||
});
|
||||
});
|
||||
$('#settings-step').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2000, {step:function(now) {
|
||||
$('#settings-message').text(now.toFixed(2));
|
||||
}});
|
||||
});
|
||||
$('#settings-progress').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2000, {progress:function(_, now) {
|
||||
$('#settings-message').text(Math.round(now*100) + '%');
|
||||
}});
|
||||
});
|
||||
$('#settings-fail').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 10000, {interrupt:true, fail:function() {
|
||||
$('#settings-message').text('Scroll interrupted!');
|
||||
}});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
$('#relative-selector').click(function() {
|
||||
$target.scrollTo('li:eq(7)', 800);
|
||||
});
|
||||
$('#jquery-object').click(function() {
|
||||
$target.scrollTo($('#pane-target li:eq(14)') , 800);
|
||||
});
|
||||
$('#dom-element').click(function() {
|
||||
$target.scrollTo(document.getElementById('twenty'), 800);
|
||||
});
|
||||
$('#absolute-number').click(function() {
|
||||
$target.scrollTo(150, 800);
|
||||
});
|
||||
$('#absolute-number-hash').click(function() {
|
||||
$target.scrollTo({ top:800, left:700}, 800);
|
||||
});
|
||||
$('#absolute-px').click(function() {
|
||||
$target.scrollTo('520px', 800);
|
||||
});
|
||||
$('#absolute-px-hash').click(function() {
|
||||
$target.scrollTo({top:'110px', left:'290px'}, 800);
|
||||
});
|
||||
$('#relative-px').click(function() {
|
||||
$target.scrollTo('+=100', 500);
|
||||
});
|
||||
$('#relative-px-hash').click(function() {
|
||||
$target.scrollTo({top:'-=100px', left:'+=100'}, 500);
|
||||
});
|
||||
$('#percentage-px').click(function() {
|
||||
$target.scrollTo('50%', 800);
|
||||
});
|
||||
$('#percentage-px-hash').click(function() {
|
||||
$target.scrollTo({top:'50%', left:'20%'}, 800);
|
||||
});
|
||||
|
||||
// Settings examples bindings, they will all scroll to the same place, with different settings
|
||||
var $settings = $('#pane-settings');
|
||||
$('#settings-examples a').click(function() {
|
||||
// before each animation, reset to (0,0), skip this.
|
||||
$settings.stop(true).scrollTo(0);
|
||||
});
|
||||
|
||||
$('#settings-no').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000);
|
||||
});
|
||||
$('#settings-axis').click(function() {// only scroll horizontally
|
||||
$settings.scrollTo('li:eq(15)', 1000, { axis:'x' });
|
||||
});
|
||||
$('#settings-duration').click(function() {// it's the same as specifying it in the 2nd argument
|
||||
$settings.scrollTo('li:eq(15)', { duration: 3000 });
|
||||
});
|
||||
$('#settings-easing').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2500, { easing:'elasout' });
|
||||
});
|
||||
$('#settings-margin').click(function() {//scroll to the "outer" position of the element
|
||||
$settings.scrollTo('li:eq(15)', 1000, { margin:true });
|
||||
});
|
||||
$('#settings-offset').click(function() {//same as { top:-50, left:-50 }
|
||||
$settings.scrollTo('li:eq(15)', 1000, { offset:-50 });
|
||||
});
|
||||
$('#settings-offset-hash').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000, { offset:{ top:-5, left:-30 } });
|
||||
});
|
||||
$('#settings-offset-function').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});
|
||||
});
|
||||
$('#settings-over').click(function() {//same as { top:-50, left:-50 }
|
||||
$settings.scrollTo('li:eq(15)', 1000, { over:0.5 });
|
||||
});
|
||||
$('#settings-over-hash').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000, { over:{ top:0.2, left:-0.5 } });
|
||||
});
|
||||
$('#settings-interrupt').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 10000, { interrupt:true });
|
||||
});
|
||||
$('#settings-queue').click(function() {//in this case, having 'axis' as 'xy' or 'yx' matters.
|
||||
$settings.scrollTo('li:eq(15)', 2000, { queue:true });
|
||||
});
|
||||
$('#settings-onAfter').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2000, {
|
||||
onAfter:function() {
|
||||
$('#settings-message').text('Got there!');
|
||||
}
|
||||
});
|
||||
});
|
||||
$('#settings-onAfterFirst').click(function() {//onAfterFirst exists only when queuing
|
||||
$settings.scrollTo('li:eq(15)', 1600, {
|
||||
queue:true,
|
||||
onAfterFirst:function() {
|
||||
$('#settings-message').text('Got there horizontally!');
|
||||
},
|
||||
onAfter:function() {
|
||||
$('#settings-message').text('Got there vertically!');
|
||||
}
|
||||
});
|
||||
});
|
||||
$('#settings-step').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2000, {step:function(now) {
|
||||
$('#settings-message').text(now.toFixed(2));
|
||||
}});
|
||||
});
|
||||
$('#settings-progress').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2000, {progress:function(_, now) {
|
||||
$('#settings-message').text(Math.round(now*100) + '%');
|
||||
}});
|
||||
});
|
||||
$('#settings-fail').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 10000, {interrupt:true, fail:function() {
|
||||
$('#settings-message').text('Scroll interrupted!');
|
||||
}});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo <strong>by Ariel Flesler</strong></h1>
|
||||
|
||||
<div id="toc" class="part">
|
||||
<h3>Table of contents <strong>(try these)</strong></h3>
|
||||
<ul>
|
||||
<li><a title="$.scrollTo('#target-examples', 800, {easing:'elasout'});" href="#target-examples">Ways to specify the target</a></li>
|
||||
<li><a title="$.scrollTo('#settings-examples', 800, {easing:'elasout'});" href="#settings-examples">Settings</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="links" class="part">
|
||||
<h3>Links</h3>
|
||||
<ul>
|
||||
<li><a target="_blank" href="https://github.com/flesler/jquery.scrollTo">Github</a></li>
|
||||
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
||||
<li><a target="_blank" href="http://demos.flesler.com/jquery/localScroll/">LocalScroll Demo</a></li>
|
||||
<li><a target="_blank" href="http://demos.flesler.com/jquery/serialScroll/">SerialScroll Demo</a></li>
|
||||
<li><a target="_blank" href="index.old.html">Old Demo</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="target-examples" class="section part">
|
||||
<h3>Ways to specify the target <span id="target-message" class="message">Click an option, to see it in action</span></h3>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('li:eq(7)', 800);" id="relative-selector" href="#">Relative selector</a></li>
|
||||
<li><a title="$(...).scrollTo($('div li:eq(14)'), 800);" id="jquery-object" href="#">jQuery object</a></li>
|
||||
<li><a title="$(...).scrollTo(document.getElementById('twenty'), 800);" id="dom-element" href="#">DOM Element</a></li>
|
||||
<li><a title="$(...).scrollTo(150, 800);" id="absolute-number" href="#">Absolute number</a></li>
|
||||
<li><a title="$(...).scrollTo({ top:800, left:700}, 800);" id="absolute-number-hash" href="#">Absolute number(hash)</a></li>
|
||||
</ul>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('520px', 800);" id="absolute-px" href="#">Absolute px</a></li>
|
||||
<li><a title="$(...).scrollTo({top:'110px', left:'290px'}, 800);" id="absolute-px-hash" href="#">Absolute px(hash)</a></li>
|
||||
<li><a title="$(...).scrollTo('+=100px', 800);" id="relative-px" href="#">Relative px</a></li>
|
||||
<li><a title="$(...).scrollTo({top:'-=100px', left:'+=100'}, 800);" id="relative-px-hash" href="#">Relative px(hash)</a></li>
|
||||
<li><a title="$(...).scrollTo('50%', 800);" id="percentage-px" href="#">Percent</a></li>
|
||||
<li><a title="$(...).scrollTo({top:'50%', left:'20%'}, 800);" id="percentage-px-hash" href="#">Percent(hash)</a></li>
|
||||
</ul>
|
||||
<div id="pane-target" class="pane">
|
||||
<ul class="elements" style="height:1011px; width:1820px;">
|
||||
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li id="twenty"><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="settings-examples" class="section part">
|
||||
<h3>Settings <span id="settings-message" class="message">The examples shown here, are summarized for brevity</span></h3>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000);" id="settings-no" href="#">no settings</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {axis:'x'});//only scroll on this axis (can be x, y, xy or yx)" id="settings-axis" href="#">axis</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {margin:true});//deduct the margin and border from the final position" id="settings-margin" href="#">margin</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset:-50});//add or deduct from the final position" id="settings-offset" href="#">offset</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: {top:-5, left:-30} });" id="settings-offset-hash" href="#">offset(hash)</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});" id="settings-offset-function" href="#">offset(function)</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:0.5});//add or deduct a fraction of its height/width" id="settings-over" href="#">over</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:{top:0.2, left:-0.5});" id="settings-over-hash" href="#">over(hash)</a></li>
|
||||
<li><a title="Scroll manually to interrupt the animation" id="settings-interrupt" href="#">interrupt</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {onAfter:function() { } });//called after the scrolling ends" id="settings-onAfter" href="#">onAfter</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true, onAfterFirst:function() { } });//called after the first axis scrolled" id="settings-onAfterFirst" href="#">onAfterFirst</a></li>
|
||||
</ul>
|
||||
<h4>Settings inherited from <a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">$().animate()</a></h4>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', {duration:3000});//another way of calling the plugin" id="settings-duration" href="#">duration</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {easing:'elasout'});//specify an easing equation" id="settings-easing" href="#">easing</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true});//scroll one axis, then the other" id="settings-queue" href="#">queue</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {step:function() { }'});//specify a step function" id="settings-step" href="#">step</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {progress:function() { }'});//specify a progress function" id="settings-progress" href="#">progress</a></li>
|
||||
<li><a title="Scroll manually to interrupt and trigger the callback" id="settings-fail" href="#">fail</a></li>
|
||||
<li><a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">more</a></li>
|
||||
</ul>
|
||||
<div id="pane-settings" class="pane">
|
||||
<ul class="elements" style="height:1062px;width:1877px;">
|
||||
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<h1>jQuery.scrollTo <strong>by Ariel Flesler</strong></h1>
|
||||
|
||||
<div id="toc" class="part">
|
||||
<h3>Table of contents <strong>(try these)</strong></h3>
|
||||
<ul>
|
||||
<li><a title="$.scrollTo('#target-examples', 800, {easing:'elasout'});" href="#target-examples">Ways to specify the target</a></li>
|
||||
<li><a title="$.scrollTo('#settings-examples', 800, {easing:'elasout'});" href="#settings-examples">Settings</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="links" class="part">
|
||||
<h3>Links</h3>
|
||||
<ul>
|
||||
<li><a target="_blank" href="https://github.com/flesler/jquery.scrollTo">Github</a></li>
|
||||
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
||||
<li><a target="_blank" href="http://demos.flesler.com/jquery/localScroll/">LocalScroll Demo</a></li>
|
||||
<li><a target="_blank" href="http://demos.flesler.com/jquery/serialScroll/">SerialScroll Demo</a></li>
|
||||
<li><a target="_blank" href="index.old.html">Old Demo</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="target-examples" class="section part">
|
||||
<h3>Ways to specify the target <span id="target-message" class="message">Click an option, to see it in action</span></h3>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('li:eq(7)', 800);" id="relative-selector" href="#">Relative selector</a></li>
|
||||
<li><a title="$(...).scrollTo($('div li:eq(14)'), 800);" id="jquery-object" href="#">jQuery object</a></li>
|
||||
<li><a title="$(...).scrollTo(document.getElementById('twenty'), 800);" id="dom-element" href="#">DOM Element</a></li>
|
||||
<li><a title="$(...).scrollTo(150, 800);" id="absolute-number" href="#">Absolute number</a></li>
|
||||
<li><a title="$(...).scrollTo({ top:800, left:700}, 800);" id="absolute-number-hash" href="#">Absolute number(hash)</a></li>
|
||||
</ul>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('520px', 800);" id="absolute-px" href="#">Absolute px</a></li>
|
||||
<li><a title="$(...).scrollTo({top:'110px', left:'290px'}, 800);" id="absolute-px-hash" href="#">Absolute px(hash)</a></li>
|
||||
<li><a title="$(...).scrollTo('+=100px', 800);" id="relative-px" href="#">Relative px</a></li>
|
||||
<li><a title="$(...).scrollTo({top:'-=100px', left:'+=100'}, 800);" id="relative-px-hash" href="#">Relative px(hash)</a></li>
|
||||
<li><a title="$(...).scrollTo('50%', 800);" id="percentage-px" href="#">Percent</a></li>
|
||||
<li><a title="$(...).scrollTo({top:'50%', left:'20%'}, 800);" id="percentage-px-hash" href="#">Percent(hash)</a></li>
|
||||
</ul>
|
||||
<div id="pane-target" class="pane">
|
||||
<ul class="elements" style="height:1011px; width:1820px;">
|
||||
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li id="twenty"><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="settings-examples" class="section part">
|
||||
<h3>Settings <span id="settings-message" class="message">The examples shown here, are summarized for brevity</span></h3>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000);" id="settings-no" href="#">no settings</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {axis:'x'});//only scroll on this axis (can be x, y, xy or yx)" id="settings-axis" href="#">axis</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {margin:true});//deduct the margin and border from the final position" id="settings-margin" href="#">margin</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset:-50});//add or deduct from the final position" id="settings-offset" href="#">offset</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: {top:-5, left:-30} });" id="settings-offset-hash" href="#">offset(hash)</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});" id="settings-offset-function" href="#">offset(function)</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:0.5});//add or deduct a fraction of its height/width" id="settings-over" href="#">over</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:{top:0.2, left:-0.5});" id="settings-over-hash" href="#">over(hash)</a></li>
|
||||
<li><a title="Scroll manually to interrupt the animation" id="settings-interrupt" href="#">interrupt</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {onAfter:function() { } });//called after the scrolling ends" id="settings-onAfter" href="#">onAfter</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true, onAfterFirst:function() { } });//called after the first axis scrolled" id="settings-onAfterFirst" href="#">onAfterFirst</a></li>
|
||||
</ul>
|
||||
<h4>Settings inherited from <a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">$().animate()</a></h4>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', {duration:3000});//another way of calling the plugin" id="settings-duration" href="#">duration</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {easing:'elasout'});//specify an easing equation" id="settings-easing" href="#">easing</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true});//scroll one axis, then the other" id="settings-queue" href="#">queue</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {step:function() { }'});//specify a step function" id="settings-step" href="#">step</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {progress:function() { }'});//specify a progress function" id="settings-progress" href="#">progress</a></li>
|
||||
<li><a title="Scroll manually to interrupt and trigger the callback" id="settings-fail" href="#">fail</a></li>
|
||||
<li><a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">more</a></li>
|
||||
</ul>
|
||||
<div id="pane-settings" class="pane">
|
||||
<ul class="elements" style="height:1062px;width:1877px;">
|
||||
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+121
-121
@@ -1,128 +1,128 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.ScrollTo</title>
|
||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<link type="text/css" rel="stylesheet" href="css/style.old.css" />
|
||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript">
|
||||
jQuery(function( $ ){
|
||||
//borrowed from jQuery easing plugin
|
||||
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
||||
$.easing.elasout = function(x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||
};
|
||||
$('button').click(function(){//this is not the cleanest way to do this, I'm just keeping it short.
|
||||
var index = parseInt( $(this).prev('input').val() ) || 0;
|
||||
var $c = $(this).parent().next();
|
||||
$c.stop().scrollTo('li:eq('+index+')', {duration:2500, easing:'elasout',axis:$c.attr('id')});
|
||||
});
|
||||
$('#btn_screen').click(function(){
|
||||
$.scrollTo( $('#txt_screen').val(), {duration:2500} );
|
||||
});
|
||||
$('div.container a').click(function(){
|
||||
var $c = $(this).parents('.container');
|
||||
$c.stop().scrollTo( 0, {duration:2000,axis:$c.attr('id'), queue:true} );
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.ScrollTo</title>
|
||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<link type="text/css" rel="stylesheet" href="css/style.old.css" />
|
||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript">
|
||||
jQuery(function( $ ){
|
||||
//borrowed from jQuery easing plugin
|
||||
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
||||
$.easing.elasout = function(x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||
};
|
||||
$('button').click(function(){//this is not the cleanest way to do this, I'm just keeping it short.
|
||||
var index = parseInt( $(this).prev('input').val() ) || 0;
|
||||
var $c = $(this).parent().next();
|
||||
$c.stop().scrollTo('li:eq('+index+')', {duration:2500, easing:'elasout',axis:$c.attr('id')});
|
||||
});
|
||||
$('#btn_screen').click(function(){
|
||||
$.scrollTo( $('#txt_screen').val(), {duration:2500} );
|
||||
});
|
||||
$('div.container a').click(function(){
|
||||
var $c = $(this).parents('.container');
|
||||
$c.stop().scrollTo( 0, {duration:2000,axis:$c.attr('id'), queue:true} );
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.ScrollTo <strong>by Ariel Flesler</strong></h1>
|
||||
<div id="links" class="part" style="width:135px">
|
||||
<h3>Links</h3>
|
||||
<ul>
|
||||
<li><a target="_blank" href="http://plugins.jquery.com/project/ScrollTo">Project Page</a></li>
|
||||
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
||||
<li><a target="_blank" href="http://flesler.blogspot.com/search/label/jQuery.ScrollTo">All articles</a></li>
|
||||
<li><a target="_blank" href="http://flesler.webs.com/jQuery.LocalScroll/">LocalScroll Demo</a></li>
|
||||
<li><a target="_blank" href="http://flesler.webs.com/jQuery.SerialScroll/">SerialScroll Demo</a></li>
|
||||
<li><a target="_blank" href="./" rel="prev" rev="next">New Demo</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<label for="txt_screen">Scroll the window to <input id="txt_screen" type="text" value=".pane:eq(1)" /><input id="btn_screen" type="button" value="Scroll" /></label><br /><br />
|
||||
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
||||
<div id="y" class="container">
|
||||
<ul>
|
||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to top</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
||||
<div id="x" class="container">
|
||||
<ul style="width:4820px;">
|
||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<label>Scroll to the #<input type="text" value="16" /> element inside this container<button>Scroll</button></label>
|
||||
<div id="xy" class="container">
|
||||
<ul style="width:1500px;">
|
||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>16</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>17</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>18</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>19</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>20</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>21</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>22</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>23</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>24</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>25</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>26</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>27</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>28</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>29</p><a href="#">back to start</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="pane" style="background-color:#000000;margin-top:40px;"></div>
|
||||
<div class="pane" style="background-color:#333333;"></div>
|
||||
<div class="pane" style="background-color:#666666;"></div>
|
||||
<div class="pane" style="background-color:#999999;"></div>
|
||||
<div class="pane" style="background-color:#CCCCCC;"></div>
|
||||
<h1>jQuery.ScrollTo <strong>by Ariel Flesler</strong></h1>
|
||||
<div id="links" class="part" style="width:135px">
|
||||
<h3>Links</h3>
|
||||
<ul>
|
||||
<li><a target="_blank" href="http://plugins.jquery.com/project/ScrollTo">Project Page</a></li>
|
||||
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
||||
<li><a target="_blank" href="http://flesler.blogspot.com/search/label/jQuery.ScrollTo">All articles</a></li>
|
||||
<li><a target="_blank" href="http://flesler.webs.com/jQuery.LocalScroll/">LocalScroll Demo</a></li>
|
||||
<li><a target="_blank" href="http://flesler.webs.com/jQuery.SerialScroll/">SerialScroll Demo</a></li>
|
||||
<li><a target="_blank" href="./" rel="prev" rev="next">New Demo</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<label for="txt_screen">Scroll the window to <input id="txt_screen" type="text" value=".pane:eq(1)" /><input id="btn_screen" type="button" value="Scroll" /></label><br /><br />
|
||||
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
||||
<div id="y" class="container">
|
||||
<ul>
|
||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to top</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
||||
<div id="x" class="container">
|
||||
<ul style="width:4820px;">
|
||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<label>Scroll to the #<input type="text" value="16" /> element inside this container<button>Scroll</button></label>
|
||||
<div id="xy" class="container">
|
||||
<ul style="width:1500px;">
|
||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>16</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>17</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>18</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>19</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>20</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>21</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>22</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>23</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>24</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>25</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>26</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>27</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>28</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>29</p><a href="#">back to start</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="pane" style="background-color:#000000;margin-top:40px;"></div>
|
||||
<div class="pane" style="background-color:#333333;"></div>
|
||||
<div class="pane" style="background-color:#666666;"></div>
|
||||
<div class="pane" style="background-color:#999999;"></div>
|
||||
<div class="pane" style="background-color:#CCCCCC;"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+15
-15
@@ -1,21 +1,21 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Element MaxY - Compat Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Element MaxY - Compat Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Element MaxY - Compat Mode</h1>
|
||||
|
||||
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$('#viewport').test();
|
||||
</script>
|
||||
<h1>jQuery.scrollTo - Test Element MaxY - Compat Mode</h1>
|
||||
|
||||
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$('#viewport').test();
|
||||
</script>
|
||||
</html>
|
||||
|
||||
+15
-15
@@ -1,20 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Element MaxY - Quirks Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Element MaxY - Quirks Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Element MaxY - Quirks Mode</h1>
|
||||
|
||||
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$('#viewport').test();
|
||||
</script>
|
||||
<h1>jQuery.scrollTo - Test Element MaxY - Quirks Mode</h1>
|
||||
|
||||
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$('#viewport').test();
|
||||
</script>
|
||||
</html>
|
||||
|
||||
+13
-13
@@ -1,19 +1,19 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY - Compat Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY - Compat Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY - Compat Mode</h1>
|
||||
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(window).test();
|
||||
</script>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY - Compat Mode</h1>
|
||||
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(window).test();
|
||||
</script>
|
||||
</html>
|
||||
|
||||
+12
-12
@@ -1,18 +1,18 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY - Quirks Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY - Quirks Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY - Quirks Mode</h1>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY - Quirks Mode</h1>
|
||||
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(window).test();
|
||||
</script>
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(window).test();
|
||||
</script>
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+13
-13
@@ -1,20 +1,20 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</h1>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</h1>
|
||||
|
||||
<iframe src="WinMaxY-compat.html?notest" style="width:500px" /></iframe>
|
||||
|
||||
<script type="text/javascript">
|
||||
setTimeout(function(){
|
||||
$('iframe').test();
|
||||
}, 1500 );
|
||||
</script>
|
||||
<iframe src="WinMaxY-compat.html?notest" style="width:500px" /></iframe>
|
||||
|
||||
<script type="text/javascript">
|
||||
setTimeout(function(){
|
||||
$('iframe').test();
|
||||
}, 1500 );
|
||||
</script>
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+14
-14
@@ -1,19 +1,19 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</h1>
|
||||
|
||||
<iframe src="WinMaxY-quirks.html?notest" style="width:500px"></iframe>
|
||||
|
||||
<script type="text/javascript">
|
||||
setTimeout(function(){
|
||||
$('iframe').test();
|
||||
}, 1500 );
|
||||
</script>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</h1>
|
||||
|
||||
<iframe src="WinMaxY-quirks.html?notest" style="width:500px"></iframe>
|
||||
|
||||
<script type="text/javascript">
|
||||
setTimeout(function(){
|
||||
$('iframe').test();
|
||||
}, 1500 );
|
||||
</script>
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+5
-5
@@ -1,11 +1,11 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</h1>
|
||||
|
||||
<iframe src="WinMaxY-compat.html" />
|
||||
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</h1>
|
||||
|
||||
<iframe src="WinMaxY-compat.html" />
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+4
-4
@@ -1,10 +1,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</h1>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</h1>
|
||||
|
||||
<iframe src="WinMaxY-quirks.html" />
|
||||
<iframe src="WinMaxY-quirks.html" />
|
||||
</html>
|
||||
|
||||
+17
-17
@@ -1,24 +1,24 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo Tests</title>
|
||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||
<meta name="description" content="Tests for jQuery ScrollTo. Made by Ariel Flesler." />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo Tests</title>
|
||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||
<meta name="description" content="Tests for jQuery ScrollTo. Made by Ariel Flesler." />
|
||||
<meta name="robots" content="index,follow" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo Tests</h1>
|
||||
|
||||
<ul>
|
||||
<li><a href="WinMaxY-compat.html">Max window scrolling (compat mode)</a></li>
|
||||
<li><a href="WinMaxY-quirks.html">Max window scrolling (quirks mode)</a></li>
|
||||
<li><a href="ElemMaxY-compat.html">Max element scrolling (compat mode)</a></li>
|
||||
<li><a href="ElemMaxY-quirks.html">Max element scrolling (quirks mode)</a></li>
|
||||
<li><a href="WinMaxY-with-iframe-compat.html">Max window scrolling, within an iframe (compat mode)</a></li>
|
||||
<li><a href="WinMaxY-with-iframe-quirks.html">Max window scrolling, within an iframe (quirks mode)</a></li>
|
||||
<li><a href="WinMaxY-to-iframe-compat.html">Max iframe scrolling from outside (compat mode)</a></li>
|
||||
<li><a href="WinMaxY-to-iframe-quirks.html">Max iframe scrolling from outside (quirks mode)</a></li>
|
||||
</ul>
|
||||
<h1>jQuery.scrollTo Tests</h1>
|
||||
|
||||
<ul>
|
||||
<li><a href="WinMaxY-compat.html">Max window scrolling (compat mode)</a></li>
|
||||
<li><a href="WinMaxY-quirks.html">Max window scrolling (quirks mode)</a></li>
|
||||
<li><a href="ElemMaxY-compat.html">Max element scrolling (compat mode)</a></li>
|
||||
<li><a href="ElemMaxY-quirks.html">Max element scrolling (quirks mode)</a></li>
|
||||
<li><a href="WinMaxY-with-iframe-compat.html">Max window scrolling, within an iframe (compat mode)</a></li>
|
||||
<li><a href="WinMaxY-with-iframe-quirks.html">Max window scrolling, within an iframe (quirks mode)</a></li>
|
||||
<li><a href="WinMaxY-to-iframe-compat.html">Max iframe scrolling from outside (compat mode)</a></li>
|
||||
<li><a href="WinMaxY-to-iframe-quirks.html">Max iframe scrolling from outside (quirks mode)</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+5
-5
@@ -55,11 +55,11 @@ For jQuery to work in Node, a window with a document is required. Since no such
|
||||
|
||||
```js
|
||||
require("jsdom").env("", function(err, window) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return;
|
||||
}
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return;
|
||||
}
|
||||
|
||||
var $ = require("jquery")(window);
|
||||
var $ = require("jquery")(window);
|
||||
});
|
||||
```
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Awesome page</title>
|
||||
<title>Awesome page</title>
|
||||
</head>
|
||||
<body>
|
||||
hello world!
|
||||
hello world!
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Other page</title>
|
||||
<title>Other page</title>
|
||||
</head>
|
||||
<body>
|
||||
hello there!
|
||||
hello there!
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -149,7 +149,7 @@ in 13 underlying clusters:
|
||||
for CLUSTER in asia-east1-c asia-east1-a asia-east1-b \
|
||||
europe-west1-d europe-west1-c europe-west1-b \
|
||||
us-central1-f us-central1-a us-central1-b us-central1-c \
|
||||
us-east1-d us-east1-c us-east1-b
|
||||
us-east1-d us-east1-c us-east1-b
|
||||
do
|
||||
kubectl --context=$CLUSTER run nginx --image=nginx:1.11.1-alpine --port=80
|
||||
done
|
||||
|
||||
@@ -202,20 +202,20 @@ You can check node capacities and amounts allocated with the
|
||||
|
||||
```shell
|
||||
$ kubectl.sh describe nodes e2e-test-minion-group-4lw4
|
||||
Name: e2e-test-minion-group-4lw4
|
||||
Name: e2e-test-minion-group-4lw4
|
||||
[ ... lines removed for clarity ...]
|
||||
Capacity:
|
||||
alpha.kubernetes.io/nvidia-gpu: 0
|
||||
cpu: 2
|
||||
memory: 7679792Ki
|
||||
pods: 110
|
||||
alpha.kubernetes.io/nvidia-gpu: 0
|
||||
cpu: 2
|
||||
memory: 7679792Ki
|
||||
pods: 110
|
||||
Allocatable:
|
||||
alpha.kubernetes.io/nvidia-gpu: 0
|
||||
cpu: 1800m
|
||||
memory: 7474992Ki
|
||||
pods: 110
|
||||
alpha.kubernetes.io/nvidia-gpu: 0
|
||||
cpu: 1800m
|
||||
memory: 7474992Ki
|
||||
pods: 110
|
||||
[ ... lines removed for clarity ...]
|
||||
Non-terminated Pods: (5 in total)
|
||||
Non-terminated Pods: (5 in total)
|
||||
Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits
|
||||
--------- ---- ------------ ---------- --------------- -------------
|
||||
kube-system fluentd-gcp-v1.38-28bv1 100m (5%) 0 (0%) 200Mi (2%) 200Mi (2%)
|
||||
@@ -225,9 +225,9 @@ Non-terminated Pods: (5 in total)
|
||||
kube-system node-problem-detector-v0.1-fj7m3 20m (1%) 200m (10%) 20Mi (0%) 100Mi (1%)
|
||||
Allocated resources:
|
||||
(Total limits may be over 100 percent, i.e., overcommitted.)
|
||||
CPU Requests CPU Limits Memory Requests Memory Limits
|
||||
------------ ---------- --------------- -------------
|
||||
680m (34%) 400m (20%) 920Mi (12%) 1070Mi (14%)
|
||||
CPU Requests CPU Limits Memory Requests Memory Limits
|
||||
------------ ---------- --------------- -------------
|
||||
680m (34%) 400m (20%) 920Mi (12%) 1070Mi (14%)
|
||||
```
|
||||
|
||||
In the preceding output, you can see that if a Pod requests more than 1120m
|
||||
|
||||
@@ -91,15 +91,15 @@ Currently, the logs for a hook handler are not exposed in the pod events. If you
|
||||
|
||||
```
|
||||
Events:
|
||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||
1m 1m 1 {default-scheduler } Normal Scheduled Successfully assigned test-1730497541-cq1d2 to gke-test-cluster-default-pool-a07e5d30-siqd
|
||||
1m 1m 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Pulling pulling image "test:1.0"
|
||||
1m 1m 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Created Created container with docker id 5c6a256a2567; Security:[seccomp=unconfined]
|
||||
1m 1m 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Pulled Successfully pulled image "test:1.0"
|
||||
1m 1m 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Started Started container with docker id 5c6a256a2567
|
||||
38s 38s 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Killing Killing container with docker id 5c6a256a2567: PostStart handler: Error executing in Docker Container: 1
|
||||
37s 37s 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Killing Killing container with docker id 8df9fdfd7054: PostStart handler: Error executing in Docker Container: 1
|
||||
38s 37s 2 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "main" with RunContainerError: "PostStart handler: Error executing in Docker Container: 1"
|
||||
1m 22s 2 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Warning FailedPostStartHook
|
||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||
1m 1m 1 {default-scheduler } Normal Scheduled Successfully assigned test-1730497541-cq1d2 to gke-test-cluster-default-pool-a07e5d30-siqd
|
||||
1m 1m 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Pulling pulling image "test:1.0"
|
||||
1m 1m 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Created Created container with docker id 5c6a256a2567; Security:[seccomp=unconfined]
|
||||
1m 1m 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Pulled Successfully pulled image "test:1.0"
|
||||
1m 1m 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Started Started container with docker id 5c6a256a2567
|
||||
38s 38s 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Killing Killing container with docker id 5c6a256a2567: PostStart handler: Error executing in Docker Container: 1
|
||||
37s 37s 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Killing Killing container with docker id 8df9fdfd7054: PostStart handler: Error executing in Docker Container: 1
|
||||
38s 37s 2 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "main" with RunContainerError: "PostStart handler: Error executing in Docker Container: 1"
|
||||
1m 22s 2 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Warning FailedPostStartHook
|
||||
```
|
||||
@@ -177,7 +177,7 @@ If it failed, then you will see:
|
||||
|
||||
```shell
|
||||
$ kubectl describe pods/private-image-test-1 | grep "Failed"
|
||||
Fri, 26 Jun 2015 15:36:13 -0700 Fri, 26 Jun 2015 15:39:13 -0700 19 {kubelet node-i2hq} spec.containers{uses-private-image} failed Failed to pull image "user/privaterepo:v1": Error: image user/privaterepo:v1 not found
|
||||
Fri, 26 Jun 2015 15:36:13 -0700 Fri, 26 Jun 2015 15:39:13 -0700 19 {kubelet node-i2hq} spec.containers{uses-private-image} failed Failed to pull image "user/privaterepo:v1": Error: image user/privaterepo:v1 not found
|
||||
```
|
||||
|
||||
|
||||
|
||||
@@ -45,20 +45,20 @@ Check on the status of the job using this command:
|
||||
|
||||
```shell
|
||||
$ kubectl describe jobs/pi
|
||||
Name: pi
|
||||
Namespace: default
|
||||
Image(s): perl
|
||||
Selector: controller-uid=b1db589a-2c8d-11e6-b324-0209dc45a495
|
||||
Parallelism: 1
|
||||
Completions: 1
|
||||
Start Time: Tue, 07 Jun 2016 10:56:16 +0200
|
||||
Labels: controller-uid=b1db589a-2c8d-11e6-b324-0209dc45a495,job-name=pi
|
||||
Pods Statuses: 0 Running / 1 Succeeded / 0 Failed
|
||||
Name: pi
|
||||
Namespace: default
|
||||
Image(s): perl
|
||||
Selector: controller-uid=b1db589a-2c8d-11e6-b324-0209dc45a495
|
||||
Parallelism: 1
|
||||
Completions: 1
|
||||
Start Time: Tue, 07 Jun 2016 10:56:16 +0200
|
||||
Labels: controller-uid=b1db589a-2c8d-11e6-b324-0209dc45a495,job-name=pi
|
||||
Pods Statuses: 0 Running / 1 Succeeded / 0 Failed
|
||||
No volumes.
|
||||
Events:
|
||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||
1m 1m 1 {job-controller } Normal SuccessfulCreate Created pod: pi-dtn4q
|
||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||
1m 1m 1 {job-controller } Normal SuccessfulCreate Created pod: pi-dtn4q
|
||||
```
|
||||
|
||||
To view completed pods of a job, use `kubectl get pods --show-all`. The `--show-all` will show completed pods too.
|
||||
|
||||
@@ -56,7 +56,7 @@ A Kubernetes Service is an abstraction which defines a logical set of Pods runni
|
||||
You can create a Service for your 2 nginx replicas with `kubectl expose`:
|
||||
|
||||
```shell
|
||||
$ kubectl expose deployment/my-nginx
|
||||
$ kubectl expose deployment/my-nginx
|
||||
service "my-nginx" exposed
|
||||
```
|
||||
|
||||
@@ -77,15 +77,15 @@ As mentioned previously, a Service is backed by a group of pods. These pods are
|
||||
|
||||
```shell
|
||||
$ kubectl describe svc my-nginx
|
||||
Name: my-nginx
|
||||
Namespace: default
|
||||
Labels: run=my-nginx
|
||||
Selector: run=my-nginx
|
||||
Type: ClusterIP
|
||||
IP: 10.0.162.149
|
||||
Port: <unset> 80/TCP
|
||||
Endpoints: 10.244.2.5:80,10.244.3.4:80
|
||||
Session Affinity: None
|
||||
Name: my-nginx
|
||||
Namespace: default
|
||||
Labels: run=my-nginx
|
||||
Selector: run=my-nginx
|
||||
Type: ClusterIP
|
||||
IP: 10.0.162.149
|
||||
Port: <unset> 80/TCP
|
||||
Endpoints: 10.244.2.5:80,10.244.3.4:80
|
||||
Session Affinity: None
|
||||
No events.
|
||||
|
||||
$ kubectl get ep my-nginx
|
||||
@@ -213,7 +213,7 @@ Let's test this from a pod (the same secret is being reused for simplicity, the
|
||||
|
||||
```shell
|
||||
$ kubectl create -f ./curlpod.yaml
|
||||
$ kubectl get pods -l app=curlpod
|
||||
$ kubectl get pods -l app=curlpod
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
curl-deployment-1515033274-1410r 1/1 Running 0 1m
|
||||
$ kubectl exec curl-deployment-1515033274-1410r -- curl https://my-nginx --cacert /etc/nginx/ssl/nginx.crt
|
||||
|
||||
@@ -137,36 +137,36 @@ NAME READY STATUS RESTARTS AGE
|
||||
myapp-pod 0/1 Init:0/2 0 6m
|
||||
$ kubectl describe -f myapp.yaml
|
||||
i11:32 $ kubectl describe -f examples/init-container.yaml
|
||||
Name: myapp-pod
|
||||
Namespace: default
|
||||
Name: myapp-pod
|
||||
Namespace: default
|
||||
[...]
|
||||
Labels: app=myapp
|
||||
Status: Pending
|
||||
Labels: app=myapp
|
||||
Status: Pending
|
||||
[...]
|
||||
Init Containers:
|
||||
init-myservice:
|
||||
[...]
|
||||
State: Running
|
||||
State: Running
|
||||
[...]
|
||||
init-mydb:
|
||||
[...]
|
||||
State: Running
|
||||
State: Running
|
||||
[...]
|
||||
Containers:
|
||||
myapp-container:
|
||||
[...]
|
||||
State: Waiting
|
||||
Reason: PodInitializing
|
||||
Ready: False
|
||||
State: Waiting
|
||||
Reason: PodInitializing
|
||||
Ready: False
|
||||
[...]
|
||||
Events:
|
||||
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
|
||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||
16s 16s 1 {default-scheduler } Normal Scheduled Successfully assigned myapp-pod to 172.17.4.201
|
||||
16s 16s 1 {kubelet 172.17.4.201} spec.initContainers{init-myservice} Normal Pulling pulling image "busybox"
|
||||
13s 13s 1 {kubelet 172.17.4.201} spec.initContainers{init-myservice} Normal Pulled Successfully pulled image "busybox"
|
||||
13s 13s 1 {kubelet 172.17.4.201} spec.initContainers{init-myservice} Normal Created Created container with docker id 5ced34a04634; Security:[seccomp=unconfined]
|
||||
13s 13s 1 {kubelet 172.17.4.201} spec.initContainers{init-myservice} Normal Started Started container with docker id 5ced34a04634
|
||||
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
|
||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||
16s 16s 1 {default-scheduler } Normal Scheduled Successfully assigned myapp-pod to 172.17.4.201
|
||||
16s 16s 1 {kubelet 172.17.4.201} spec.initContainers{init-myservice} Normal Pulling pulling image "busybox"
|
||||
13s 13s 1 {kubelet 172.17.4.201} spec.initContainers{init-myservice} Normal Pulled Successfully pulled image "busybox"
|
||||
13s 13s 1 {kubelet 172.17.4.201} spec.initContainers{init-myservice} Normal Created Created container with docker id 5ced34a04634; Security:[seccomp=unconfined]
|
||||
13s 13s 1 {kubelet 172.17.4.201} spec.initContainers{init-myservice} Normal Started Started container with docker id 5ced34a04634
|
||||
$ kubectl logs myapp-pod -c init-myservice # Inspect the first init container
|
||||
$ kubectl logs myapp-pod -c init-mydd # Inspect the second init container
|
||||
```
|
||||
|
||||
@@ -92,9 +92,9 @@ web server:
|
||||
|
||||
<i>NOTE: If you do not want Jekyll to interfere with your other globally installed gems, you can use `bundler`:</i>
|
||||
|
||||
gem install bundler
|
||||
bundle install
|
||||
bundler exec jekyll serve
|
||||
gem install bundler
|
||||
bundle install
|
||||
bundler exec jekyll serve
|
||||
|
||||
<i> Regardless of whether you use `bundler` or not, your copy of the site will then be viewable at: [http://localhost:4000](http://localhost:4000)</i>
|
||||
|
||||
|
||||
@@ -4807,10 +4807,10 @@ Examples:<br>
|
||||
<tr>
|
||||
<td class="tableblock halign-left valign-top"><p class="tableblock">host</p></td>
|
||||
<td class="tableblock halign-left valign-top"><p class="tableblock">Host is the fully qualified domain name of a network host, as defined by RFC 3986. Note the following deviations from the "host" part of the URI as defined in the RFC: 1. IPs are not allowed. Currently an IngressRuleValue can only apply to the<br>
|
||||
IP in the Spec of the parent Ingress.<br>
|
||||
IP in the Spec of the parent Ingress.<br>
|
||||
2. The <code>:</code> delimiter is not respected because ports are not allowed.<br>
|
||||
Currently the port of an Ingress is implicitly :80 for http and<br>
|
||||
:443 for https.<br>
|
||||
Currently the port of an Ingress is implicitly :80 for http and<br>
|
||||
:443 for https.<br>
|
||||
Both these may change in the future. Incoming requests are matched against the host before the IngressRuleValue. If the host is unspecified, the Ingress routes all traffic based on the specified IngressRuleValue.</p></td>
|
||||
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
|
||||
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
|
||||
|
||||
@@ -52,8 +52,8 @@ yum -y install --enablerepo=virt7-docker-common-release kubernetes etcd flannel
|
||||
* Add master and node to /etc/hosts on all machines (not needed if hostnames already in DNS)
|
||||
|
||||
```shell
|
||||
echo "192.168.121.9 centos-master
|
||||
192.168.121.65 centos-minion-1
|
||||
echo "192.168.121.9 centos-master
|
||||
192.168.121.65 centos-minion-1
|
||||
192.168.121.66 centos-minion-2
|
||||
192.168.121.67 centos-minion-3" >> /etc/hosts
|
||||
```
|
||||
@@ -147,9 +147,9 @@ FLANNEL_ETCD_PREFIX="/kube-centos/network"
|
||||
|
||||
```shell
|
||||
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler flanneld; do
|
||||
systemctl restart $SERVICES
|
||||
systemctl enable $SERVICES
|
||||
systemctl status $SERVICES
|
||||
systemctl restart $SERVICES
|
||||
systemctl enable $SERVICES
|
||||
systemctl status $SERVICES
|
||||
done
|
||||
```
|
||||
|
||||
|
||||
@@ -77,10 +77,10 @@ SSH to it using the key that was created and using the _core_ user and you can l
|
||||
|
||||
$ ssh -i ~/.ssh/id_rsa_k8s core@<master IP>
|
||||
$ fleetctl list-machines
|
||||
MACHINE IP METADATA
|
||||
a017c422... <node #1 IP> role=node
|
||||
ad13bf84... <master IP> role=master
|
||||
e9af8293... <node #2 IP> role=node
|
||||
MACHINE IP METADATA
|
||||
a017c422... <node #1 IP> role=node
|
||||
ad13bf84... <master IP> role=master
|
||||
e9af8293... <node #2 IP> role=node
|
||||
|
||||
## Support Level
|
||||
|
||||
|
||||
@@ -48,8 +48,8 @@ dnf -y install etcd
|
||||
* Add master and node to /etc/hosts on all machines (not needed if hostnames already in DNS). Make sure that communication works between fed-master and fed-node by using a utility such as ping.
|
||||
|
||||
```shell
|
||||
echo "192.168.121.9 fed-master
|
||||
192.168.121.65 fed-node" >> /etc/hosts
|
||||
echo "192.168.121.9 fed-master
|
||||
192.168.121.65 fed-node" >> /etc/hosts
|
||||
```
|
||||
|
||||
* Edit /etc/kubernetes/config (which should be the same on all hosts) to set
|
||||
@@ -95,9 +95,9 @@ ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
|
||||
|
||||
```shell
|
||||
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do
|
||||
systemctl restart $SERVICES
|
||||
systemctl enable $SERVICES
|
||||
systemctl status $SERVICES
|
||||
systemctl restart $SERVICES
|
||||
systemctl enable $SERVICES
|
||||
systemctl status $SERVICES
|
||||
done
|
||||
```
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ This guide will set up a simple Kubernetes cluster with a single Kubernetes mast
|
||||
|
||||
- This guide uses `systemd` for process management. Ubuntu 15.04 supports systemd natively as do a number of other Linux distributions.
|
||||
- All machines should have Docker >= 1.7.0 installed.
|
||||
- To install Docker on Ubuntu, follow [these instructions](https://docs.docker.com/installation/ubuntulinux/)
|
||||
- To install Docker on Ubuntu, follow [these instructions](https://docs.docker.com/installation/ubuntulinux/)
|
||||
- All machines should have connectivity to each other and the internet.
|
||||
- This guide assumes a DHCP server on your network to assign server IPs.
|
||||
- This guide uses `192.168.0.0/16` as the subnet from which pod IP addresses are assigned. If this overlaps with your host subnet, you will need to configure Calico to use a different [IP pool](https://github.com/projectcalico/calico-containers/blob/master/docs/calicoctl/pool.md#calicoctl-pool-commands).
|
||||
|
||||
@@ -70,7 +70,7 @@ At this stage, you can query the controller model as well:
|
||||
```
|
||||
juju status
|
||||
Model Controller Cloud/Region Version
|
||||
controller k8s lxd/localhost 2.0.2
|
||||
controller k8s lxd/localhost 2.0.2
|
||||
|
||||
App Version Status Scale Charm Store Rev OS Notes
|
||||
|
||||
@@ -142,16 +142,16 @@ If the deployment is larger the following commands will run on all units success
|
||||
|
||||
```
|
||||
juju show-status kubernetes-master --format json | \
|
||||
jq --raw-output '.applications."kubernetes-master".units | keys[]' | \
|
||||
xargs -I UNIT juju ssh UNIT "sudo sed -i 's/KUBE_API_ARGS=\"/KUBE_API_ARGS=\"--allow-privileged\ /' /etc/default/kube-apiserver && sudo systemctl restart kube-apiserver.service"
|
||||
jq --raw-output '.applications."kubernetes-master".units | keys[]' | \
|
||||
xargs -I UNIT juju ssh UNIT "sudo sed -i 's/KUBE_API_ARGS=\"/KUBE_API_ARGS=\"--allow-privileged\ /' /etc/default/kube-apiserver && sudo systemctl restart kube-apiserver.service"
|
||||
```
|
||||
|
||||
2. Update all workers
|
||||
|
||||
```
|
||||
juju show-status kubernetes-worker --format json | \
|
||||
jq --raw-output '.applications."kubernetes-worker".units | keys[]' | \
|
||||
xargs -I UNIT juju ssh UNIT "sudo sed -i 's/KUBELET_ARGS=\"/KUBELET_ARGS=\"--allow-privileged\ /' /etc/default/kubelet && sudo systemctl restart kubelet.service"
|
||||
jq --raw-output '.applications."kubernetes-worker".units | keys[]' | \
|
||||
xargs -I UNIT juju ssh UNIT "sudo sed -i 's/KUBELET_ARGS=\"/KUBELET_ARGS=\"--allow-privileged\ /' /etc/default/kubelet && sudo systemctl restart kubelet.service"
|
||||
```
|
||||
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ Sample Config:
|
||||
working-dir = <Folder in which VMs are provisioned, can be null>
|
||||
vm-uuid = <VM Instance UUID of virtual machine which can be retrieved from instanceUuid property in VmConfigInfo, or also set as vc.uuid in VMX file. If empty, will be retrieved from sysfs (requires root)>
|
||||
[Disk]
|
||||
scsicontrollertype = pvscsi
|
||||
scsicontrollertype = pvscsi
|
||||
```
|
||||
|
||||
* Set the cloud provider via ```--cloud-provider=vsphere``` flag for each instance of kubelet, apiserver and controller manager.
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ In the reference section, you can find reference documentation for Kubernetes AP
|
||||
## CLI References
|
||||
|
||||
* [kubectl](/docs/user-guide/kubectl-overview/) - Runs commands against Kubernetes clusters.
|
||||
* [JSONPath](/docs/user-guide/jsonpath/) - Syntax guide for using [JSONPath expressions](http://goessner.net/articles/JsonPath/) with kubectl.
|
||||
* [JSONPath](/docs/user-guide/jsonpath/) - Syntax guide for using [JSONPath expressions](http://goessner.net/articles/JsonPath/) with kubectl.
|
||||
* [kube-apiserver](/docs/admin/kube-apiserver/) - REST API that validates and configures data for API objects such as pods, services, replication controllers.
|
||||
* [kube-proxy](/docs/admin/kube-proxy/) - Can do simple TCP/UDP stream forwarding or round-robin TCP/UDP forwarding across a set of backends.
|
||||
* [kube-scheduler](/docs/admin/kube-scheduler/) - A policy-rich, topology-aware, workload-specific function that significantly impacts availability, performance, and capacity.
|
||||
|
||||
+244
-244
@@ -1,252 +1,252 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo</title>
|
||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<link type="text/css" rel="stylesheet" href="css/style.css" />
|
||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
jQuery(function( $ ){
|
||||
/**
|
||||
* Demo binding and preparation, no need to read this part
|
||||
*/
|
||||
//borrowed from jQuery easing plugin
|
||||
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
||||
$.easing.elasout = function(x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||
};
|
||||
$('a.back').click(function() {
|
||||
$(this).parents('div.pane').scrollTo(0, 800, { queue:true });
|
||||
$(this).parents('div.section').find('span.message').text( this.title);
|
||||
return false;
|
||||
});
|
||||
//just for the example, to stop the click on the links.
|
||||
$('ul.links').click(function(e){
|
||||
var link = e.target;
|
||||
if (link.target === '_blank') {
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
link.blur();
|
||||
if (link.title) {
|
||||
$(this).parent().find('span.message').text(link.title);
|
||||
}
|
||||
});
|
||||
|
||||
// This one is important, many browsers don't reset scroll on refreshes
|
||||
// Reset all scrollable panes to (0,0)
|
||||
$('div.pane').scrollTo(0);
|
||||
// Reset the screen to (0,0)
|
||||
$.scrollTo(0);
|
||||
|
||||
// TOC, shows how to scroll the whole window
|
||||
$('#toc a').click(function() {//$.scrollTo works EXACTLY the same way, but scrolls the whole screen
|
||||
$.scrollTo(this.hash, 1500, { easing:'elasout' });
|
||||
$(this.hash).find('span.message').text(this.title);
|
||||
return false;
|
||||
});
|
||||
|
||||
// Target examples bindings
|
||||
var $target = $('#pane-target');
|
||||
$('#target-examples a').click(function() {
|
||||
$target.stop(true);
|
||||
});
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo</title>
|
||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<link type="text/css" rel="stylesheet" href="css/style.css" />
|
||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
jQuery(function( $ ){
|
||||
/**
|
||||
* Demo binding and preparation, no need to read this part
|
||||
*/
|
||||
//borrowed from jQuery easing plugin
|
||||
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
||||
$.easing.elasout = function(x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||
};
|
||||
$('a.back').click(function() {
|
||||
$(this).parents('div.pane').scrollTo(0, 800, { queue:true });
|
||||
$(this).parents('div.section').find('span.message').text( this.title);
|
||||
return false;
|
||||
});
|
||||
//just for the example, to stop the click on the links.
|
||||
$('ul.links').click(function(e){
|
||||
var link = e.target;
|
||||
if (link.target === '_blank') {
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
link.blur();
|
||||
if (link.title) {
|
||||
$(this).parent().find('span.message').text(link.title);
|
||||
}
|
||||
});
|
||||
|
||||
// This one is important, many browsers don't reset scroll on refreshes
|
||||
// Reset all scrollable panes to (0,0)
|
||||
$('div.pane').scrollTo(0);
|
||||
// Reset the screen to (0,0)
|
||||
$.scrollTo(0);
|
||||
|
||||
// TOC, shows how to scroll the whole window
|
||||
$('#toc a').click(function() {//$.scrollTo works EXACTLY the same way, but scrolls the whole screen
|
||||
$.scrollTo(this.hash, 1500, { easing:'elasout' });
|
||||
$(this.hash).find('span.message').text(this.title);
|
||||
return false;
|
||||
});
|
||||
|
||||
// Target examples bindings
|
||||
var $target = $('#pane-target');
|
||||
$('#target-examples a').click(function() {
|
||||
$target.stop(true);
|
||||
});
|
||||
|
||||
$('#relative-selector').click(function() {
|
||||
$target.scrollTo('li:eq(7)', 800);
|
||||
});
|
||||
$('#jquery-object').click(function() {
|
||||
$target.scrollTo($('#pane-target li:eq(14)') , 800);
|
||||
});
|
||||
$('#dom-element').click(function() {
|
||||
$target.scrollTo(document.getElementById('twenty'), 800);
|
||||
});
|
||||
$('#absolute-number').click(function() {
|
||||
$target.scrollTo(150, 800);
|
||||
});
|
||||
$('#absolute-number-hash').click(function() {
|
||||
$target.scrollTo({ top:800, left:700}, 800);
|
||||
});
|
||||
$('#absolute-px').click(function() {
|
||||
$target.scrollTo('520px', 800);
|
||||
});
|
||||
$('#absolute-px-hash').click(function() {
|
||||
$target.scrollTo({top:'110px', left:'290px'}, 800);
|
||||
});
|
||||
$('#relative-px').click(function() {
|
||||
$target.scrollTo('+=100', 500);
|
||||
});
|
||||
$('#relative-px-hash').click(function() {
|
||||
$target.scrollTo({top:'-=100px', left:'+=100'}, 500);
|
||||
});
|
||||
$('#percentage-px').click(function() {
|
||||
$target.scrollTo('50%', 800);
|
||||
});
|
||||
$('#percentage-px-hash').click(function() {
|
||||
$target.scrollTo({top:'50%', left:'20%'}, 800);
|
||||
});
|
||||
|
||||
// Settings examples bindings, they will all scroll to the same place, with different settings
|
||||
var $settings = $('#pane-settings');
|
||||
$('#settings-examples a').click(function() {
|
||||
// before each animation, reset to (0,0), skip this.
|
||||
$settings.stop(true).scrollTo(0);
|
||||
});
|
||||
|
||||
$('#settings-no').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000);
|
||||
});
|
||||
$('#settings-axis').click(function() {// only scroll horizontally
|
||||
$settings.scrollTo('li:eq(15)', 1000, { axis:'x' });
|
||||
});
|
||||
$('#settings-duration').click(function() {// it's the same as specifying it in the 2nd argument
|
||||
$settings.scrollTo('li:eq(15)', { duration: 3000 });
|
||||
});
|
||||
$('#settings-easing').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2500, { easing:'elasout' });
|
||||
});
|
||||
$('#settings-margin').click(function() {//scroll to the "outer" position of the element
|
||||
$settings.scrollTo('li:eq(15)', 1000, { margin:true });
|
||||
});
|
||||
$('#settings-offset').click(function() {//same as { top:-50, left:-50 }
|
||||
$settings.scrollTo('li:eq(15)', 1000, { offset:-50 });
|
||||
});
|
||||
$('#settings-offset-hash').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000, { offset:{ top:-5, left:-30 } });
|
||||
});
|
||||
$('#settings-offset-function').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});
|
||||
});
|
||||
$('#settings-over').click(function() {//same as { top:-50, left:-50 }
|
||||
$settings.scrollTo('li:eq(15)', 1000, { over:0.5 });
|
||||
});
|
||||
$('#settings-over-hash').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000, { over:{ top:0.2, left:-0.5 } });
|
||||
});
|
||||
$('#settings-interrupt').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 10000, { interrupt:true });
|
||||
});
|
||||
$('#settings-queue').click(function() {//in this case, having 'axis' as 'xy' or 'yx' matters.
|
||||
$settings.scrollTo('li:eq(15)', 2000, { queue:true });
|
||||
});
|
||||
$('#settings-onAfter').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2000, {
|
||||
onAfter:function() {
|
||||
$('#settings-message').text('Got there!');
|
||||
}
|
||||
});
|
||||
});
|
||||
$('#settings-onAfterFirst').click(function() {//onAfterFirst exists only when queuing
|
||||
$settings.scrollTo('li:eq(15)', 1600, {
|
||||
queue:true,
|
||||
onAfterFirst:function() {
|
||||
$('#settings-message').text('Got there horizontally!');
|
||||
},
|
||||
onAfter:function() {
|
||||
$('#settings-message').text('Got there vertically!');
|
||||
}
|
||||
});
|
||||
});
|
||||
$('#settings-step').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2000, {step:function(now) {
|
||||
$('#settings-message').text(now.toFixed(2));
|
||||
}});
|
||||
});
|
||||
$('#settings-progress').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2000, {progress:function(_, now) {
|
||||
$('#settings-message').text(Math.round(now*100) + '%');
|
||||
}});
|
||||
});
|
||||
$('#settings-fail').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 10000, {interrupt:true, fail:function() {
|
||||
$('#settings-message').text('Scroll interrupted!');
|
||||
}});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
$('#relative-selector').click(function() {
|
||||
$target.scrollTo('li:eq(7)', 800);
|
||||
});
|
||||
$('#jquery-object').click(function() {
|
||||
$target.scrollTo($('#pane-target li:eq(14)') , 800);
|
||||
});
|
||||
$('#dom-element').click(function() {
|
||||
$target.scrollTo(document.getElementById('twenty'), 800);
|
||||
});
|
||||
$('#absolute-number').click(function() {
|
||||
$target.scrollTo(150, 800);
|
||||
});
|
||||
$('#absolute-number-hash').click(function() {
|
||||
$target.scrollTo({ top:800, left:700}, 800);
|
||||
});
|
||||
$('#absolute-px').click(function() {
|
||||
$target.scrollTo('520px', 800);
|
||||
});
|
||||
$('#absolute-px-hash').click(function() {
|
||||
$target.scrollTo({top:'110px', left:'290px'}, 800);
|
||||
});
|
||||
$('#relative-px').click(function() {
|
||||
$target.scrollTo('+=100', 500);
|
||||
});
|
||||
$('#relative-px-hash').click(function() {
|
||||
$target.scrollTo({top:'-=100px', left:'+=100'}, 500);
|
||||
});
|
||||
$('#percentage-px').click(function() {
|
||||
$target.scrollTo('50%', 800);
|
||||
});
|
||||
$('#percentage-px-hash').click(function() {
|
||||
$target.scrollTo({top:'50%', left:'20%'}, 800);
|
||||
});
|
||||
|
||||
// Settings examples bindings, they will all scroll to the same place, with different settings
|
||||
var $settings = $('#pane-settings');
|
||||
$('#settings-examples a').click(function() {
|
||||
// before each animation, reset to (0,0), skip this.
|
||||
$settings.stop(true).scrollTo(0);
|
||||
});
|
||||
|
||||
$('#settings-no').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000);
|
||||
});
|
||||
$('#settings-axis').click(function() {// only scroll horizontally
|
||||
$settings.scrollTo('li:eq(15)', 1000, { axis:'x' });
|
||||
});
|
||||
$('#settings-duration').click(function() {// it's the same as specifying it in the 2nd argument
|
||||
$settings.scrollTo('li:eq(15)', { duration: 3000 });
|
||||
});
|
||||
$('#settings-easing').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2500, { easing:'elasout' });
|
||||
});
|
||||
$('#settings-margin').click(function() {//scroll to the "outer" position of the element
|
||||
$settings.scrollTo('li:eq(15)', 1000, { margin:true });
|
||||
});
|
||||
$('#settings-offset').click(function() {//same as { top:-50, left:-50 }
|
||||
$settings.scrollTo('li:eq(15)', 1000, { offset:-50 });
|
||||
});
|
||||
$('#settings-offset-hash').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000, { offset:{ top:-5, left:-30 } });
|
||||
});
|
||||
$('#settings-offset-function').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});
|
||||
});
|
||||
$('#settings-over').click(function() {//same as { top:-50, left:-50 }
|
||||
$settings.scrollTo('li:eq(15)', 1000, { over:0.5 });
|
||||
});
|
||||
$('#settings-over-hash').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000, { over:{ top:0.2, left:-0.5 } });
|
||||
});
|
||||
$('#settings-interrupt').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 10000, { interrupt:true });
|
||||
});
|
||||
$('#settings-queue').click(function() {//in this case, having 'axis' as 'xy' or 'yx' matters.
|
||||
$settings.scrollTo('li:eq(15)', 2000, { queue:true });
|
||||
});
|
||||
$('#settings-onAfter').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2000, {
|
||||
onAfter:function() {
|
||||
$('#settings-message').text('Got there!');
|
||||
}
|
||||
});
|
||||
});
|
||||
$('#settings-onAfterFirst').click(function() {//onAfterFirst exists only when queuing
|
||||
$settings.scrollTo('li:eq(15)', 1600, {
|
||||
queue:true,
|
||||
onAfterFirst:function() {
|
||||
$('#settings-message').text('Got there horizontally!');
|
||||
},
|
||||
onAfter:function() {
|
||||
$('#settings-message').text('Got there vertically!');
|
||||
}
|
||||
});
|
||||
});
|
||||
$('#settings-step').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2000, {step:function(now) {
|
||||
$('#settings-message').text(now.toFixed(2));
|
||||
}});
|
||||
});
|
||||
$('#settings-progress').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2000, {progress:function(_, now) {
|
||||
$('#settings-message').text(Math.round(now*100) + '%');
|
||||
}});
|
||||
});
|
||||
$('#settings-fail').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 10000, {interrupt:true, fail:function() {
|
||||
$('#settings-message').text('Scroll interrupted!');
|
||||
}});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo <strong>by Ariel Flesler</strong></h1>
|
||||
|
||||
<div id="toc" class="part">
|
||||
<h3>Table of contents <strong>(try these)</strong></h3>
|
||||
<ul>
|
||||
<li><a title="$.scrollTo('#target-examples', 800, {easing:'elasout'});" href="#target-examples">Ways to specify the target</a></li>
|
||||
<li><a title="$.scrollTo('#settings-examples', 800, {easing:'elasout'});" href="#settings-examples">Settings</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="links" class="part">
|
||||
<h3>Links</h3>
|
||||
<ul>
|
||||
<li><a target="_blank" href="https://github.com/flesler/jquery.scrollTo">Github</a></li>
|
||||
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
||||
<li><a target="_blank" href="http://demos.flesler.com/jquery/localScroll/">LocalScroll Demo</a></li>
|
||||
<li><a target="_blank" href="http://demos.flesler.com/jquery/serialScroll/">SerialScroll Demo</a></li>
|
||||
<li><a target="_blank" href="index.old.html">Old Demo</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="target-examples" class="section part">
|
||||
<h3>Ways to specify the target <span id="target-message" class="message">Click an option, to see it in action</span></h3>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('li:eq(7)', 800);" id="relative-selector" href="#">Relative selector</a></li>
|
||||
<li><a title="$(...).scrollTo($('div li:eq(14)'), 800);" id="jquery-object" href="#">jQuery object</a></li>
|
||||
<li><a title="$(...).scrollTo(document.getElementById('twenty'), 800);" id="dom-element" href="#">DOM Element</a></li>
|
||||
<li><a title="$(...).scrollTo(150, 800);" id="absolute-number" href="#">Absolute number</a></li>
|
||||
<li><a title="$(...).scrollTo({ top:800, left:700}, 800);" id="absolute-number-hash" href="#">Absolute number(hash)</a></li>
|
||||
</ul>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('520px', 800);" id="absolute-px" href="#">Absolute px</a></li>
|
||||
<li><a title="$(...).scrollTo({top:'110px', left:'290px'}, 800);" id="absolute-px-hash" href="#">Absolute px(hash)</a></li>
|
||||
<li><a title="$(...).scrollTo('+=100px', 800);" id="relative-px" href="#">Relative px</a></li>
|
||||
<li><a title="$(...).scrollTo({top:'-=100px', left:'+=100'}, 800);" id="relative-px-hash" href="#">Relative px(hash)</a></li>
|
||||
<li><a title="$(...).scrollTo('50%', 800);" id="percentage-px" href="#">Percent</a></li>
|
||||
<li><a title="$(...).scrollTo({top:'50%', left:'20%'}, 800);" id="percentage-px-hash" href="#">Percent(hash)</a></li>
|
||||
</ul>
|
||||
<div id="pane-target" class="pane">
|
||||
<ul class="elements" style="height:1011px; width:1820px;">
|
||||
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li id="twenty"><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="settings-examples" class="section part">
|
||||
<h3>Settings <span id="settings-message" class="message">The examples shown here, are summarized for brevity</span></h3>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000);" id="settings-no" href="#">no settings</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {axis:'x'});//only scroll on this axis (can be x, y, xy or yx)" id="settings-axis" href="#">axis</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {margin:true});//deduct the margin and border from the final position" id="settings-margin" href="#">margin</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset:-50});//add or deduct from the final position" id="settings-offset" href="#">offset</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: {top:-5, left:-30} });" id="settings-offset-hash" href="#">offset(hash)</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});" id="settings-offset-function" href="#">offset(function)</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:0.5});//add or deduct a fraction of its height/width" id="settings-over" href="#">over</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:{top:0.2, left:-0.5});" id="settings-over-hash" href="#">over(hash)</a></li>
|
||||
<li><a title="Scroll manually to interrupt the animation" id="settings-interrupt" href="#">interrupt</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {onAfter:function() { } });//called after the scrolling ends" id="settings-onAfter" href="#">onAfter</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true, onAfterFirst:function() { } });//called after the first axis scrolled" id="settings-onAfterFirst" href="#">onAfterFirst</a></li>
|
||||
</ul>
|
||||
<h4>Settings inherited from <a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">$().animate()</a></h4>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', {duration:3000});//another way of calling the plugin" id="settings-duration" href="#">duration</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {easing:'elasout'});//specify an easing equation" id="settings-easing" href="#">easing</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true});//scroll one axis, then the other" id="settings-queue" href="#">queue</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {step:function() { }'});//specify a step function" id="settings-step" href="#">step</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {progress:function() { }'});//specify a progress function" id="settings-progress" href="#">progress</a></li>
|
||||
<li><a title="Scroll manually to interrupt and trigger the callback" id="settings-fail" href="#">fail</a></li>
|
||||
<li><a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">more</a></li>
|
||||
</ul>
|
||||
<div id="pane-settings" class="pane">
|
||||
<ul class="elements" style="height:1062px;width:1877px;">
|
||||
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<h1>jQuery.scrollTo <strong>by Ariel Flesler</strong></h1>
|
||||
|
||||
<div id="toc" class="part">
|
||||
<h3>Table of contents <strong>(try these)</strong></h3>
|
||||
<ul>
|
||||
<li><a title="$.scrollTo('#target-examples', 800, {easing:'elasout'});" href="#target-examples">Ways to specify the target</a></li>
|
||||
<li><a title="$.scrollTo('#settings-examples', 800, {easing:'elasout'});" href="#settings-examples">Settings</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="links" class="part">
|
||||
<h3>Links</h3>
|
||||
<ul>
|
||||
<li><a target="_blank" href="https://github.com/flesler/jquery.scrollTo">Github</a></li>
|
||||
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
||||
<li><a target="_blank" href="http://demos.flesler.com/jquery/localScroll/">LocalScroll Demo</a></li>
|
||||
<li><a target="_blank" href="http://demos.flesler.com/jquery/serialScroll/">SerialScroll Demo</a></li>
|
||||
<li><a target="_blank" href="index.old.html">Old Demo</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="target-examples" class="section part">
|
||||
<h3>Ways to specify the target <span id="target-message" class="message">Click an option, to see it in action</span></h3>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('li:eq(7)', 800);" id="relative-selector" href="#">Relative selector</a></li>
|
||||
<li><a title="$(...).scrollTo($('div li:eq(14)'), 800);" id="jquery-object" href="#">jQuery object</a></li>
|
||||
<li><a title="$(...).scrollTo(document.getElementById('twenty'), 800);" id="dom-element" href="#">DOM Element</a></li>
|
||||
<li><a title="$(...).scrollTo(150, 800);" id="absolute-number" href="#">Absolute number</a></li>
|
||||
<li><a title="$(...).scrollTo({ top:800, left:700}, 800);" id="absolute-number-hash" href="#">Absolute number(hash)</a></li>
|
||||
</ul>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('520px', 800);" id="absolute-px" href="#">Absolute px</a></li>
|
||||
<li><a title="$(...).scrollTo({top:'110px', left:'290px'}, 800);" id="absolute-px-hash" href="#">Absolute px(hash)</a></li>
|
||||
<li><a title="$(...).scrollTo('+=100px', 800);" id="relative-px" href="#">Relative px</a></li>
|
||||
<li><a title="$(...).scrollTo({top:'-=100px', left:'+=100'}, 800);" id="relative-px-hash" href="#">Relative px(hash)</a></li>
|
||||
<li><a title="$(...).scrollTo('50%', 800);" id="percentage-px" href="#">Percent</a></li>
|
||||
<li><a title="$(...).scrollTo({top:'50%', left:'20%'}, 800);" id="percentage-px-hash" href="#">Percent(hash)</a></li>
|
||||
</ul>
|
||||
<div id="pane-target" class="pane">
|
||||
<ul class="elements" style="height:1011px; width:1820px;">
|
||||
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li id="twenty"><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="settings-examples" class="section part">
|
||||
<h3>Settings <span id="settings-message" class="message">The examples shown here, are summarized for brevity</span></h3>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000);" id="settings-no" href="#">no settings</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {axis:'x'});//only scroll on this axis (can be x, y, xy or yx)" id="settings-axis" href="#">axis</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {margin:true});//deduct the margin and border from the final position" id="settings-margin" href="#">margin</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset:-50});//add or deduct from the final position" id="settings-offset" href="#">offset</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: {top:-5, left:-30} });" id="settings-offset-hash" href="#">offset(hash)</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});" id="settings-offset-function" href="#">offset(function)</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:0.5});//add or deduct a fraction of its height/width" id="settings-over" href="#">over</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:{top:0.2, left:-0.5});" id="settings-over-hash" href="#">over(hash)</a></li>
|
||||
<li><a title="Scroll manually to interrupt the animation" id="settings-interrupt" href="#">interrupt</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {onAfter:function() { } });//called after the scrolling ends" id="settings-onAfter" href="#">onAfter</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true, onAfterFirst:function() { } });//called after the first axis scrolled" id="settings-onAfterFirst" href="#">onAfterFirst</a></li>
|
||||
</ul>
|
||||
<h4>Settings inherited from <a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">$().animate()</a></h4>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', {duration:3000});//another way of calling the plugin" id="settings-duration" href="#">duration</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {easing:'elasout'});//specify an easing equation" id="settings-easing" href="#">easing</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true});//scroll one axis, then the other" id="settings-queue" href="#">queue</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {step:function() { }'});//specify a step function" id="settings-step" href="#">step</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {progress:function() { }'});//specify a progress function" id="settings-progress" href="#">progress</a></li>
|
||||
<li><a title="Scroll manually to interrupt and trigger the callback" id="settings-fail" href="#">fail</a></li>
|
||||
<li><a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">more</a></li>
|
||||
</ul>
|
||||
<div id="pane-settings" class="pane">
|
||||
<ul class="elements" style="height:1062px;width:1877px;">
|
||||
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+121
-121
@@ -1,128 +1,128 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.ScrollTo</title>
|
||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<link type="text/css" rel="stylesheet" href="css/style.old.css" />
|
||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript">
|
||||
jQuery(function( $ ){
|
||||
//borrowed from jQuery easing plugin
|
||||
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
||||
$.easing.elasout = function(x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||
};
|
||||
$('button').click(function(){//this is not the cleanest way to do this, I'm just keeping it short.
|
||||
var index = parseInt( $(this).prev('input').val() ) || 0;
|
||||
var $c = $(this).parent().next();
|
||||
$c.stop().scrollTo('li:eq('+index+')', {duration:2500, easing:'elasout',axis:$c.attr('id')});
|
||||
});
|
||||
$('#btn_screen').click(function(){
|
||||
$.scrollTo( $('#txt_screen').val(), {duration:2500} );
|
||||
});
|
||||
$('div.container a').click(function(){
|
||||
var $c = $(this).parents('.container');
|
||||
$c.stop().scrollTo( 0, {duration:2000,axis:$c.attr('id'), queue:true} );
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.ScrollTo</title>
|
||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<link type="text/css" rel="stylesheet" href="css/style.old.css" />
|
||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript">
|
||||
jQuery(function( $ ){
|
||||
//borrowed from jQuery easing plugin
|
||||
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
||||
$.easing.elasout = function(x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||
};
|
||||
$('button').click(function(){//this is not the cleanest way to do this, I'm just keeping it short.
|
||||
var index = parseInt( $(this).prev('input').val() ) || 0;
|
||||
var $c = $(this).parent().next();
|
||||
$c.stop().scrollTo('li:eq('+index+')', {duration:2500, easing:'elasout',axis:$c.attr('id')});
|
||||
});
|
||||
$('#btn_screen').click(function(){
|
||||
$.scrollTo( $('#txt_screen').val(), {duration:2500} );
|
||||
});
|
||||
$('div.container a').click(function(){
|
||||
var $c = $(this).parents('.container');
|
||||
$c.stop().scrollTo( 0, {duration:2000,axis:$c.attr('id'), queue:true} );
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.ScrollTo <strong>by Ariel Flesler</strong></h1>
|
||||
<div id="links" class="part" style="width:135px">
|
||||
<h3>Links</h3>
|
||||
<ul>
|
||||
<li><a target="_blank" href="http://plugins.jquery.com/project/ScrollTo">Project Page</a></li>
|
||||
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
||||
<li><a target="_blank" href="http://flesler.blogspot.com/search/label/jQuery.ScrollTo">All articles</a></li>
|
||||
<li><a target="_blank" href="http://flesler.webs.com/jQuery.LocalScroll/">LocalScroll Demo</a></li>
|
||||
<li><a target="_blank" href="http://flesler.webs.com/jQuery.SerialScroll/">SerialScroll Demo</a></li>
|
||||
<li><a target="_blank" href="./" rel="prev" rev="next">New Demo</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<label for="txt_screen">Scroll the window to <input id="txt_screen" type="text" value=".pane:eq(1)" /><input id="btn_screen" type="button" value="Scroll" /></label><br /><br />
|
||||
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
||||
<div id="y" class="container">
|
||||
<ul>
|
||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to top</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
||||
<div id="x" class="container">
|
||||
<ul style="width:4820px;">
|
||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<label>Scroll to the #<input type="text" value="16" /> element inside this container<button>Scroll</button></label>
|
||||
<div id="xy" class="container">
|
||||
<ul style="width:1500px;">
|
||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>16</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>17</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>18</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>19</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>20</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>21</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>22</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>23</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>24</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>25</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>26</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>27</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>28</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>29</p><a href="#">back to start</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="pane" style="background-color:#000000;margin-top:40px;"></div>
|
||||
<div class="pane" style="background-color:#333333;"></div>
|
||||
<div class="pane" style="background-color:#666666;"></div>
|
||||
<div class="pane" style="background-color:#999999;"></div>
|
||||
<div class="pane" style="background-color:#CCCCCC;"></div>
|
||||
<h1>jQuery.ScrollTo <strong>by Ariel Flesler</strong></h1>
|
||||
<div id="links" class="part" style="width:135px">
|
||||
<h3>Links</h3>
|
||||
<ul>
|
||||
<li><a target="_blank" href="http://plugins.jquery.com/project/ScrollTo">Project Page</a></li>
|
||||
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
||||
<li><a target="_blank" href="http://flesler.blogspot.com/search/label/jQuery.ScrollTo">All articles</a></li>
|
||||
<li><a target="_blank" href="http://flesler.webs.com/jQuery.LocalScroll/">LocalScroll Demo</a></li>
|
||||
<li><a target="_blank" href="http://flesler.webs.com/jQuery.SerialScroll/">SerialScroll Demo</a></li>
|
||||
<li><a target="_blank" href="./" rel="prev" rev="next">New Demo</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<label for="txt_screen">Scroll the window to <input id="txt_screen" type="text" value=".pane:eq(1)" /><input id="btn_screen" type="button" value="Scroll" /></label><br /><br />
|
||||
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
||||
<div id="y" class="container">
|
||||
<ul>
|
||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to top</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
||||
<div id="x" class="container">
|
||||
<ul style="width:4820px;">
|
||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<label>Scroll to the #<input type="text" value="16" /> element inside this container<button>Scroll</button></label>
|
||||
<div id="xy" class="container">
|
||||
<ul style="width:1500px;">
|
||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>16</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>17</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>18</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>19</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>20</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>21</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>22</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>23</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>24</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>25</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>26</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>27</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>28</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>29</p><a href="#">back to start</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="pane" style="background-color:#000000;margin-top:40px;"></div>
|
||||
<div class="pane" style="background-color:#333333;"></div>
|
||||
<div class="pane" style="background-color:#666666;"></div>
|
||||
<div class="pane" style="background-color:#999999;"></div>
|
||||
<div class="pane" style="background-color:#CCCCCC;"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+15
-15
@@ -1,21 +1,21 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Element MaxY - Compat Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Element MaxY - Compat Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Element MaxY - Compat Mode</h1>
|
||||
|
||||
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$('#viewport').test();
|
||||
</script>
|
||||
<h1>jQuery.scrollTo - Test Element MaxY - Compat Mode</h1>
|
||||
|
||||
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$('#viewport').test();
|
||||
</script>
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+15
-15
@@ -1,20 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Element MaxY - Quirks Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Element MaxY - Quirks Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Element MaxY - Quirks Mode</h1>
|
||||
|
||||
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$('#viewport').test();
|
||||
</script>
|
||||
<h1>jQuery.scrollTo - Test Element MaxY - Quirks Mode</h1>
|
||||
|
||||
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$('#viewport').test();
|
||||
</script>
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+13
-13
@@ -1,19 +1,19 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY - Compat Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY - Compat Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY - Compat Mode</h1>
|
||||
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(window).test();
|
||||
</script>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY - Compat Mode</h1>
|
||||
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(window).test();
|
||||
</script>
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+12
-12
@@ -1,18 +1,18 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY - Quirks Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY - Quirks Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY - Quirks Mode</h1>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY - Quirks Mode</h1>
|
||||
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(window).test();
|
||||
</script>
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(window).test();
|
||||
</script>
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+13
-13
@@ -1,20 +1,20 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</h1>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</h1>
|
||||
|
||||
<iframe src="WinMaxY-compat.html?notest" style="width:500px" /></iframe>
|
||||
|
||||
<script type="text/javascript">
|
||||
setTimeout(function(){
|
||||
$('iframe').test();
|
||||
}, 1500 );
|
||||
</script>
|
||||
<iframe src="WinMaxY-compat.html?notest" style="width:500px" /></iframe>
|
||||
|
||||
<script type="text/javascript">
|
||||
setTimeout(function(){
|
||||
$('iframe').test();
|
||||
}, 1500 );
|
||||
</script>
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+14
-14
@@ -1,19 +1,19 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</h1>
|
||||
|
||||
<iframe src="WinMaxY-quirks.html?notest" style="width:500px"></iframe>
|
||||
|
||||
<script type="text/javascript">
|
||||
setTimeout(function(){
|
||||
$('iframe').test();
|
||||
}, 1500 );
|
||||
</script>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</h1>
|
||||
|
||||
<iframe src="WinMaxY-quirks.html?notest" style="width:500px"></iframe>
|
||||
|
||||
<script type="text/javascript">
|
||||
setTimeout(function(){
|
||||
$('iframe').test();
|
||||
}, 1500 );
|
||||
</script>
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+5
-5
@@ -1,11 +1,11 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</h1>
|
||||
|
||||
<iframe src="WinMaxY-compat.html" />
|
||||
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</h1>
|
||||
|
||||
<iframe src="WinMaxY-compat.html" />
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+4
-4
@@ -1,10 +1,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</h1>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</h1>
|
||||
|
||||
<iframe src="WinMaxY-quirks.html" />
|
||||
<iframe src="WinMaxY-quirks.html" />
|
||||
</html>
|
||||
|
||||
+17
-17
@@ -1,24 +1,24 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo Tests</title>
|
||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||
<meta name="description" content="Tests for jQuery ScrollTo. Made by Ariel Flesler." />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo Tests</title>
|
||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||
<meta name="description" content="Tests for jQuery ScrollTo. Made by Ariel Flesler." />
|
||||
<meta name="robots" content="index,follow" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo Tests</h1>
|
||||
|
||||
<ul>
|
||||
<li><a href="WinMaxY-compat.html">Max window scrolling (compat mode)</a></li>
|
||||
<li><a href="WinMaxY-quirks.html">Max window scrolling (quirks mode)</a></li>
|
||||
<li><a href="ElemMaxY-compat.html">Max element scrolling (compat mode)</a></li>
|
||||
<li><a href="ElemMaxY-quirks.html">Max element scrolling (quirks mode)</a></li>
|
||||
<li><a href="WinMaxY-with-iframe-compat.html">Max window scrolling, within an iframe (compat mode)</a></li>
|
||||
<li><a href="WinMaxY-with-iframe-quirks.html">Max window scrolling, within an iframe (quirks mode)</a></li>
|
||||
<li><a href="WinMaxY-to-iframe-compat.html">Max iframe scrolling from outside (compat mode)</a></li>
|
||||
<li><a href="WinMaxY-to-iframe-quirks.html">Max iframe scrolling from outside (quirks mode)</a></li>
|
||||
</ul>
|
||||
<h1>jQuery.scrollTo Tests</h1>
|
||||
|
||||
<ul>
|
||||
<li><a href="WinMaxY-compat.html">Max window scrolling (compat mode)</a></li>
|
||||
<li><a href="WinMaxY-quirks.html">Max window scrolling (quirks mode)</a></li>
|
||||
<li><a href="ElemMaxY-compat.html">Max element scrolling (compat mode)</a></li>
|
||||
<li><a href="ElemMaxY-quirks.html">Max element scrolling (quirks mode)</a></li>
|
||||
<li><a href="WinMaxY-with-iframe-compat.html">Max window scrolling, within an iframe (compat mode)</a></li>
|
||||
<li><a href="WinMaxY-with-iframe-quirks.html">Max window scrolling, within an iframe (quirks mode)</a></li>
|
||||
<li><a href="WinMaxY-to-iframe-compat.html">Max iframe scrolling from outside (compat mode)</a></li>
|
||||
<li><a href="WinMaxY-to-iframe-quirks.html">Max iframe scrolling from outside (quirks mode)</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+5
-5
@@ -55,11 +55,11 @@ For jQuery to work in Node, a window with a document is required. Since no such
|
||||
|
||||
```js
|
||||
require("jsdom").env("", function(err, window) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return;
|
||||
}
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return;
|
||||
}
|
||||
|
||||
var $ = require("jquery")(window);
|
||||
var $ = require("jquery")(window);
|
||||
});
|
||||
```
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Awesome page</title>
|
||||
<title>Awesome page</title>
|
||||
</head>
|
||||
<body>
|
||||
hello world!
|
||||
hello world!
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+2
-2
@@ -1,8 +1,8 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Other page</title>
|
||||
<title>Other page</title>
|
||||
</head>
|
||||
<body>
|
||||
hello there!
|
||||
hello there!
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -307,7 +307,7 @@ Check that:
|
||||
delete any ingresses created before the cluster joined the
|
||||
federation (and had it's GLBC reconfigured), and recreate them if
|
||||
necessary.
|
||||
|
||||
|
||||
#### This troubleshooting guide did not help me solve my problem
|
||||
|
||||
Please use one of our [support channels](http://kubernetes.io/docs/troubleshooting/) to seek assistance.
|
||||
|
||||
@@ -69,8 +69,8 @@ Let's describe the quota to see what is currently being consumed in this namespa
|
||||
$ kubectl describe quota object-counts --namespace=quota-example
|
||||
Name: object-counts
|
||||
Namespace: quota-example
|
||||
Resource Used Hard
|
||||
-------- ---- ----
|
||||
Resource Used Hard
|
||||
-------- ---- ----
|
||||
persistentvolumeclaims 0 2
|
||||
services.loadbalancers 0 2
|
||||
services.nodeports 0 0
|
||||
@@ -162,8 +162,8 @@ Replicas: 0 current / 1 desired
|
||||
Pods Status: 0 Running / 0 Waiting / 0 Succeeded / 0 Failed
|
||||
No volumes.
|
||||
Events:
|
||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||
4m 7s 11 {replicaset-controller } Warning FailedCreate Error creating: pods "nginx-3137573019-" is forbidden: Failed quota: compute-resources: must specify limits.cpu,limits.memory,requests.cpu,requests.memory
|
||||
```
|
||||
|
||||
@@ -257,7 +257,7 @@ Name: best-effort
|
||||
Namespace: quota-scopes
|
||||
Scopes: BestEffort
|
||||
* Matches all pods that have best effort quality of service.
|
||||
Resource Used Hard
|
||||
Resource Used Hard
|
||||
-------- ---- ----
|
||||
pods 0 10
|
||||
|
||||
|
||||
@@ -101,7 +101,7 @@ Set `terminationMessagePath` as shown here:
|
||||
|
||||
* See the `terminationMessagePath` field in
|
||||
[Container](/docs/api-reference/v1/definitions#_v1_container).
|
||||
* Learn about [retrieving logs](/docs/user-guide/logging/).
|
||||
* Learn about [retrieving logs](/docs/concepts/cluster-administration/logging/).
|
||||
* Learn about [Go templates](https://golang.org/pkg/text/template/).
|
||||
|
||||
{% endcapture %}
|
||||
|
||||
@@ -77,10 +77,10 @@ Next, we will check that we can discover the rabbitmq service:
|
||||
# Note the rabitmq-service has a DNS name, provided by Kubernetes:
|
||||
|
||||
root@temp-loe07:/# nslookup rabbitmq-service
|
||||
Server: 10.0.0.10
|
||||
Address: 10.0.0.10#53
|
||||
Server: 10.0.0.10
|
||||
Address: 10.0.0.10#53
|
||||
|
||||
Name: rabbitmq-service.default.svc.cluster.local
|
||||
Name: rabbitmq-service.default.svc.cluster.local
|
||||
Address: 10.0.147.152
|
||||
|
||||
# Your address will vary.
|
||||
@@ -222,27 +222,27 @@ kubectl create -f ./job.yaml
|
||||
Now wait a bit, then check on the job.
|
||||
|
||||
```shell
|
||||
$ kubectl describe jobs/job-wq-1
|
||||
Name: job-wq-1
|
||||
Namespace: default
|
||||
Image(s): gcr.io/causal-jigsaw-637/job-wq-1
|
||||
Selector: app in (job-wq-1)
|
||||
Parallelism: 2
|
||||
Completions: 8
|
||||
Labels: app=job-wq-1
|
||||
Pods Statuses: 0 Running / 8 Succeeded / 0 Failed
|
||||
$ kubectl describe jobs/job-wq-1
|
||||
Name: job-wq-1
|
||||
Namespace: default
|
||||
Image(s): gcr.io/causal-jigsaw-637/job-wq-1
|
||||
Selector: app in (job-wq-1)
|
||||
Parallelism: 2
|
||||
Completions: 8
|
||||
Labels: app=job-wq-1
|
||||
Pods Statuses: 0 Running / 8 Succeeded / 0 Failed
|
||||
No volumes.
|
||||
Events:
|
||||
FirstSeen LastSeen Count From SubobjectPath Reason Message
|
||||
───────── ──────── ───── ──── ───────────── ────── ───────
|
||||
27s 27s 1 {job } SuccessfulCreate Created pod: job-wq-1-hcobb
|
||||
27s 27s 1 {job } SuccessfulCreate Created pod: job-wq-1-weytj
|
||||
27s 27s 1 {job } SuccessfulCreate Created pod: job-wq-1-qaam5
|
||||
27s 27s 1 {job } SuccessfulCreate Created pod: job-wq-1-b67sr
|
||||
26s 26s 1 {job } SuccessfulCreate Created pod: job-wq-1-xe5hj
|
||||
15s 15s 1 {job } SuccessfulCreate Created pod: job-wq-1-w2zqe
|
||||
14s 14s 1 {job } SuccessfulCreate Created pod: job-wq-1-d6ppa
|
||||
14s 14s 1 {job } SuccessfulCreate Created pod: job-wq-1-p17e0
|
||||
FirstSeen LastSeen Count From SubobjectPath Reason Message
|
||||
───────── ──────── ───── ──── ───────────── ────── ───────
|
||||
27s 27s 1 {job } SuccessfulCreate Created pod: job-wq-1-hcobb
|
||||
27s 27s 1 {job } SuccessfulCreate Created pod: job-wq-1-weytj
|
||||
27s 27s 1 {job } SuccessfulCreate Created pod: job-wq-1-qaam5
|
||||
27s 27s 1 {job } SuccessfulCreate Created pod: job-wq-1-b67sr
|
||||
26s 26s 1 {job } SuccessfulCreate Created pod: job-wq-1-xe5hj
|
||||
15s 15s 1 {job } SuccessfulCreate Created pod: job-wq-1-w2zqe
|
||||
14s 14s 1 {job } SuccessfulCreate Created pod: job-wq-1-d6ppa
|
||||
14s 14s 1 {job } SuccessfulCreate Created pod: job-wq-1-p17e0
|
||||
```
|
||||
|
||||
All our pods succeeded. Yay.
|
||||
|
||||
@@ -175,21 +175,21 @@ kubectl create -f ./job.yaml
|
||||
Now wait a bit, then check on the job.
|
||||
|
||||
```shell
|
||||
$ kubectl describe jobs/job-wq-2
|
||||
Name: job-wq-2
|
||||
Namespace: default
|
||||
Image(s): gcr.io/exampleproject/job-wq-2
|
||||
Selector: app in (job-wq-2)
|
||||
Parallelism: 2
|
||||
Completions: Unset
|
||||
Start Time: Mon, 11 Jan 2016 17:07:59 -0800
|
||||
Labels: app=job-wq-2
|
||||
Pods Statuses: 1 Running / 0 Succeeded / 0 Failed
|
||||
$ kubectl describe jobs/job-wq-2
|
||||
Name: job-wq-2
|
||||
Namespace: default
|
||||
Image(s): gcr.io/exampleproject/job-wq-2
|
||||
Selector: app in (job-wq-2)
|
||||
Parallelism: 2
|
||||
Completions: Unset
|
||||
Start Time: Mon, 11 Jan 2016 17:07:59 -0800
|
||||
Labels: app=job-wq-2
|
||||
Pods Statuses: 1 Running / 0 Succeeded / 0 Failed
|
||||
No volumes.
|
||||
Events:
|
||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||
33s 33s 1 {job-controller } Normal SuccessfulCreate Created pod: job-wq-2-lglf8
|
||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||
33s 33s 1 {job-controller } Normal SuccessfulCreate Created pod: job-wq-2-lglf8
|
||||
|
||||
|
||||
$ kubectl logs pods/job-wq-2-7r7b2
|
||||
|
||||
@@ -222,39 +222,39 @@ To wrap up, let's look at what happens if we try to specify a profile that hasn'
|
||||
command: [ "sh", "-c", "echo 'Hello AppArmor!' && sleep 1h" ]
|
||||
EOF
|
||||
pod "hello-apparmor-2" created
|
||||
|
||||
|
||||
$ kubectl describe pod hello-apparmor-2
|
||||
Name: hello-apparmor-2
|
||||
Namespace: default
|
||||
Node: gke-test-default-pool-239f5d02-x1kf/
|
||||
Start Time: Tue, 30 Aug 2016 17:58:56 -0700
|
||||
Labels: <none>
|
||||
Status: Failed
|
||||
Reason: AppArmor
|
||||
Message: Pod Cannot enforce AppArmor: profile "k8s-apparmor-example-allow-write" is not loaded
|
||||
IP:
|
||||
Controllers: <none>
|
||||
Name: hello-apparmor-2
|
||||
Namespace: default
|
||||
Node: gke-test-default-pool-239f5d02-x1kf/
|
||||
Start Time: Tue, 30 Aug 2016 17:58:56 -0700
|
||||
Labels: <none>
|
||||
Status: Failed
|
||||
Reason: AppArmor
|
||||
Message: Pod Cannot enforce AppArmor: profile "k8s-apparmor-example-allow-write" is not loaded
|
||||
IP:
|
||||
Controllers: <none>
|
||||
Containers:
|
||||
hello:
|
||||
Image: busybox
|
||||
Port:
|
||||
Image: busybox
|
||||
Port:
|
||||
Command:
|
||||
sh
|
||||
-c
|
||||
echo 'Hello AppArmor!' && sleep 1h
|
||||
Requests:
|
||||
cpu: 100m
|
||||
Environment Variables: <none>
|
||||
cpu: 100m
|
||||
Environment Variables: <none>
|
||||
Volumes:
|
||||
default-token-dnz7v:
|
||||
Type: Secret (a volume populated by a Secret)
|
||||
SecretName: default-token-dnz7v
|
||||
QoS Tier: Burstable
|
||||
Type: Secret (a volume populated by a Secret)
|
||||
SecretName: default-token-dnz7v
|
||||
QoS Tier: Burstable
|
||||
Events:
|
||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||
23s 23s 1 {default-scheduler } Normal Scheduled Successfully assigned hello-apparmor-2 to e2e-test-stclair-minion-group-t1f5
|
||||
23s 23s 1 {kubelet e2e-test-stclair-minion-group-t1f5} Warning AppArmor Cannot enforce AppArmor: profile "k8s-apparmor-example-allow-write" is not loaded
|
||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||
23s 23s 1 {default-scheduler } Normal Scheduled Successfully assigned hello-apparmor-2 to e2e-test-stclair-minion-group-t1f5
|
||||
23s 23s 1 {kubelet e2e-test-stclair-minion-group-t1f5} Warning AppArmor Cannot enforce AppArmor: profile "k8s-apparmor-example-allow-write" is not loaded
|
||||
|
||||
Note the pod status is Failed, with a helpful error message: `Pod Cannot enforce AppArmor: profile
|
||||
"k8s-apparmor-example-allow-write" is not loaded`. An event was also recorded with the same message.
|
||||
|
||||
@@ -58,19 +58,19 @@ kubectl describe deployment hello
|
||||
The output is similar to this:
|
||||
|
||||
```
|
||||
Name: hello
|
||||
Namespace: default
|
||||
CreationTimestamp: Mon, 24 Oct 2016 14:21:02 -0700
|
||||
Labels: app=hello
|
||||
tier=backend
|
||||
track=stable
|
||||
Selector: app=hello,tier=backend,track=stable
|
||||
Replicas: 7 updated | 7 total | 7 available | 0 unavailable
|
||||
StrategyType: RollingUpdate
|
||||
MinReadySeconds: 0
|
||||
RollingUpdateStrategy: 1 max unavailable, 1 max surge
|
||||
OldReplicaSets: <none>
|
||||
NewReplicaSet: hello-3621623197 (7/7 replicas created)
|
||||
Name: hello
|
||||
Namespace: default
|
||||
CreationTimestamp: Mon, 24 Oct 2016 14:21:02 -0700
|
||||
Labels: app=hello
|
||||
tier=backend
|
||||
track=stable
|
||||
Selector: app=hello,tier=backend,track=stable
|
||||
Replicas: 7 updated | 7 total | 7 available | 0 unavailable
|
||||
StrategyType: RollingUpdate
|
||||
MinReadySeconds: 0
|
||||
RollingUpdateStrategy: 1 max unavailable, 1 max surge
|
||||
OldReplicaSets: <none>
|
||||
NewReplicaSet: hello-3621623197 (7/7 replicas created)
|
||||
Events:
|
||||
...
|
||||
```
|
||||
|
||||
@@ -13,21 +13,21 @@ title: Interactive Tutorial - Creating a Cluster
|
||||
|
||||
<div class="layout" id="top">
|
||||
|
||||
<main class="content katacoda-content">
|
||||
<main class="content katacoda-content">
|
||||
|
||||
<div class="katacoda">
|
||||
<div class="katacoda__alert">
|
||||
To interact with the Terminal, please use the desktop/tablet version
|
||||
</div>
|
||||
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/1" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;"></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/deploy-intro/" role="button">Continue to Module 2<span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="katacoda">
|
||||
<div class="katacoda__alert">
|
||||
To interact with the Terminal, please use the desktop/tablet version
|
||||
</div>
|
||||
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/1" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;"></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/deploy-intro/" role="button">Continue to Module 2<span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</main>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -15,94 +15,94 @@ title: Using Minikube to Create a Cluster
|
||||
|
||||
<div class="layout" id="top">
|
||||
|
||||
<main class="content">
|
||||
<main class="content">
|
||||
|
||||
<div class="row">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-8">
|
||||
<h3>Objectives</h3>
|
||||
<ul>
|
||||
<li>Learn what a Kubernetes cluster is.</li>
|
||||
<li>Learn what Minikube is.</li>
|
||||
<li>Start a Kubernetes cluster using an online terminal.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<h3>Objectives</h3>
|
||||
<ul>
|
||||
<li>Learn what a Kubernetes cluster is.</li>
|
||||
<li>Learn what Minikube is.</li>
|
||||
<li>Start a Kubernetes cluster using an online terminal.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="col-md-8">
|
||||
<h3>Kubernetes Clusters</h3>
|
||||
<p>
|
||||
<b>Kubernetes coordinates a highly available cluster of computers that are connected to work as a single unit.</b> The abstractions in Kubernetes allow you to deploy containerized applications to a cluster without tying them specifically to individual machines. To make use of this new model of deployment, applications need to be packaged in a way that decouples them from individual hosts: they need to be containerized. Containerized applications are more flexible and available than in past deployment models, where applications were installed directly onto specific machines as packages deeply integrated into the host. <b>Kubernetes automates the distribution and scheduling of application containers across a cluster in a more efficient way.</b> Kubernetes is an <a href="https://github.com/kubernetes/kubernetes">open-source</a> platform and is production-ready.
|
||||
</p>
|
||||
<p>A Kubernetes cluster consists of two types of resources:
|
||||
<ul>
|
||||
<li>The <b>Master</b> coordinates the cluster</li>
|
||||
<li><b>Nodes</b> are the workers that run applications</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<h3>Kubernetes Clusters</h3>
|
||||
<p>
|
||||
<b>Kubernetes coordinates a highly available cluster of computers that are connected to work as a single unit.</b> The abstractions in Kubernetes allow you to deploy containerized applications to a cluster without tying them specifically to individual machines. To make use of this new model of deployment, applications need to be packaged in a way that decouples them from individual hosts: they need to be containerized. Containerized applications are more flexible and available than in past deployment models, where applications were installed directly onto specific machines as packages deeply integrated into the host. <b>Kubernetes automates the distribution and scheduling of application containers across a cluster in a more efficient way.</b> Kubernetes is an <a href="https://github.com/kubernetes/kubernetes">open-source</a> platform and is production-ready.
|
||||
</p>
|
||||
<p>A Kubernetes cluster consists of two types of resources:
|
||||
<ul>
|
||||
<li>The <b>Master</b> coordinates the cluster</li>
|
||||
<li><b>Nodes</b> are the workers that run applications</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_lined">
|
||||
<h3>Summary:</h3>
|
||||
<ul>
|
||||
<li>Kubernetes cluster</li>
|
||||
<li>Minikube</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i>
|
||||
Kubernetes is a production-grade, open-source platform that orchestrates the placement (scheduling) and execution of application containers within and across computer clusters.
|
||||
</i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_lined">
|
||||
<h3>Summary:</h3>
|
||||
<ul>
|
||||
<li>Kubernetes cluster</li>
|
||||
<li>Minikube</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i>
|
||||
Kubernetes is a production-grade, open-source platform that orchestrates the placement (scheduling) and execution of application containers within and across computer clusters.
|
||||
</i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2 style="color: #3771e3;">Cluster Diagram</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2 style="color: #3771e3;">Cluster Diagram</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_01_cluster.svg"></p>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_01_cluster.svg"></p>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p><b>The Master is responsible for managing the cluster.</b> The master coordinates all activities in your cluster, such as scheduling applications, maintaining applications' desired state, scaling applications, and rolling out new updates.</p>
|
||||
<p><b>A node is a VM or a physical computer that serves as a worker machine in a Kubernetes cluster.</b> Each node has a Kubelet, which is an agent for managing the node and communicating with the Kubernetes master. The node should also have tools for handling container operations, such as <a href="https://www.docker.com/">Docker</a> or <a href="https://coreos.com/rkt/">rkt</a>. A Kubernetes cluster that handles production traffic should have a minimum of three nodes.</p>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p><b>The Master is responsible for managing the cluster.</b> The master coordinates all activities in your cluster, such as scheduling applications, maintaining applications' desired state, scaling applications, and rolling out new updates.</p>
|
||||
<p><b>A node is a VM or a physical computer that serves as a worker machine in a Kubernetes cluster.</b> Each node has a Kubelet, which is an agent for managing the node and communicating with the Kubernetes master. The node should also have tools for handling container operations, such as <a href="https://www.docker.com/">Docker</a> or <a href="https://coreos.com/rkt/">rkt</a>. A Kubernetes cluster that handles production traffic should have a minimum of three nodes.</p>
|
||||
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i> Masters manage the cluster and the nodes are used to host the running applications. </i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i> Masters manage the cluster and the nodes are used to host the running applications. </i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p>When you deploy applications on Kubernetes, you tell the master to start the application containers. The master schedules the containers to run on the cluster's nodes. <b>The nodes communicate with the master using the Kubernetes API</b>, which the master exposes. End users can also use the Kubernetes API directly to interact with the cluster.</p>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p>When you deploy applications on Kubernetes, you tell the master to start the application containers. The master schedules the containers to run on the cluster's nodes. <b>The nodes communicate with the master using the Kubernetes API</b>, which the master exposes. End users can also use the Kubernetes API directly to interact with the cluster.</p>
|
||||
|
||||
<p>A Kubernetes cluster can be deployed on either physical or virtual machines. To get started with Kubernetes development, you can use <a href="https://github.com/kubernetes/minikube">Minikube</a>. Minikube is a lightweight Kubernetes implementation that creates a VM on your local machine and deploys a simple cluster containing only one node. Minikube is available for Linux, Mac OS and Windows systems. The Minikube CLI provides basic bootstrapping operations for working with your cluster, including start, stop, status, and delete. For this bootcamp, however, you'll use a provided online terminal with Minikube pre-installed.</p>
|
||||
<p>A Kubernetes cluster can be deployed on either physical or virtual machines. To get started with Kubernetes development, you can use <a href="https://github.com/kubernetes/minikube">Minikube</a>. Minikube is a lightweight Kubernetes implementation that creates a VM on your local machine and deploys a simple cluster containing only one node. Minikube is available for Linux, Mac OS and Windows systems. The Minikube CLI provides basic bootstrapping operations for working with your cluster, including start, stop, status, and delete. For this bootcamp, however, you'll use a provided online terminal with Minikube pre-installed.</p>
|
||||
|
||||
<p>Now that you know what Kubernetes is, let's go to the online tutorial and start our first cluster!</p>
|
||||
<p>Now that you know what Kubernetes is, let's go to the online tutorial and start our first cluster!</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/cluster-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/cluster-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</main>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -13,25 +13,25 @@ title: Interactive Tutorial - Deploying an App
|
||||
|
||||
<div class="layout" id="top">
|
||||
|
||||
<main class="content katacoda-content">
|
||||
<main class="content katacoda-content">
|
||||
|
||||
<br>
|
||||
<div class="katacoda">
|
||||
<div class="katacoda__alert">
|
||||
To interact with the Terminal, please use the desktop/tablet version
|
||||
</div>
|
||||
<br>
|
||||
<div class="katacoda">
|
||||
<div class="katacoda__alert">
|
||||
To interact with the Terminal, please use the desktop/tablet version
|
||||
</div>
|
||||
|
||||
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/7" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
|
||||
</div>
|
||||
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/7" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/explore-intro/" role="button">Continue to Module 3<span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/explore-intro/" role="button">Continue to Module 3<span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</main>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -12,95 +12,95 @@ title: Using kubectl to Create a Deployment
|
||||
|
||||
<div class="layout" id="top">
|
||||
|
||||
<main class="content">
|
||||
<main class="content">
|
||||
|
||||
<div class="row">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-8">
|
||||
<h3>Objectives</h3>
|
||||
<ul>
|
||||
<li>Learn about application Deployments.</li>
|
||||
<li>Deploy your first app on Kubernetes with kubectl.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<h3>Objectives</h3>
|
||||
<ul>
|
||||
<li>Learn about application Deployments.</li>
|
||||
<li>Deploy your first app on Kubernetes with kubectl.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="col-md-8">
|
||||
<h3>Kubernetes Deployments</h3>
|
||||
<p>
|
||||
Once you have a running Kubernetes cluster, you can deploy your containerized applications on top of it. To do so, you create a Kubernetes <b>Deployment</b>. The Deployment is responsible for creating and updating instances of your application. Once you've created a Deployment, the Kubernetes master schedules the application instances that the Deployment creates onto individual Nodes in the cluster.
|
||||
</p>
|
||||
<div class="col-md-8">
|
||||
<h3>Kubernetes Deployments</h3>
|
||||
<p>
|
||||
Once you have a running Kubernetes cluster, you can deploy your containerized applications on top of it. To do so, you create a Kubernetes <b>Deployment</b>. The Deployment is responsible for creating and updating instances of your application. Once you've created a Deployment, the Kubernetes master schedules the application instances that the Deployment creates onto individual Nodes in the cluster.
|
||||
</p>
|
||||
|
||||
<p>Once the application instances are created, a Kubernetes Deployment Controller continuously monitors those instances. The Deployment controller replaces an instance if the Node hosting it goes down or it is deleted. <b>This provides a self-healing mechanism to address machine failure or maintenance.</b></p>
|
||||
<p>Once the application instances are created, a Kubernetes Deployment Controller continuously monitors those instances. The Deployment controller replaces an instance if the Node hosting it goes down or it is deleted. <b>This provides a self-healing mechanism to address machine failure or maintenance.</b></p>
|
||||
|
||||
<p>In a pre-orchestration world, installation scripts would often be used to start applications, but they did not allow recovery from machine failure. By both creating your application instances and keeping them running across Nodes, Kubernetes Deployments provide a fundamentally different approach to application management. </p>
|
||||
<p>In a pre-orchestration world, installation scripts would often be used to start applications, but they did not allow recovery from machine failure. By both creating your application instances and keeping them running across Nodes, Kubernetes Deployments provide a fundamentally different approach to application management. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_lined">
|
||||
<h3>Summary:</h3>
|
||||
<ul>
|
||||
<li>Deployments</li>
|
||||
<li>Kubectl</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i>
|
||||
A Deployment is responsible for creating and updating instances of your application
|
||||
</i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_lined">
|
||||
<h3>Summary:</h3>
|
||||
<ul>
|
||||
<li>Deployments</li>
|
||||
<li>Kubectl</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i>
|
||||
A Deployment is responsible for creating and updating instances of your application
|
||||
</i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2 style="color: #3771e3;">Deploying your first app on Kubernetes</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2 style="color: #3771e3;">Deploying your first app on Kubernetes</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_02_first_app.svg"></p>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_02_first_app.svg"></p>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
||||
<p>You can create and manage a Deployment by using the Kubernetes command line interface, <b>Kubectl</b>. Kubectl uses the Kubernetes API to interact with the cluster. In this module, you'll learn the most common Kubectl commands needed to create Deployments that run your applications on a Kubernetes cluster.</p>
|
||||
|
||||
<p>When you create a Deployment, you'll need to specify the container image for your application and the number of replicas that you want to run. You can change that information later by updating your Deployment; Modules <a href="/docs/tutorials/kubernetes-basics/scale-intro/">5</a> and <a href="/docs/tutorials/kubernetes-basics/update-intro/">6</a> of the bootcamp discuss how you can scale and update your Deployments.</p>
|
||||
<p>When you create a Deployment, you'll need to specify the container image for your application and the number of replicas that you want to run. You can change that information later by updating your Deployment; Modules <a href="/docs/tutorials/kubernetes-basics/scale-intro/">5</a> and <a href="/docs/tutorials/kubernetes-basics/update-intro/">6</a> of the bootcamp discuss how you can scale and update your Deployments.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i> Applications need to be packaged into one of the supported container formats in order to be deployed on Kubernetes </i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i> Applications need to be packaged into one of the supported container formats in order to be deployed on Kubernetes </i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p>For our first Deployment, we'll use a <a href="https://nodejs.org">Node.js</a> application packaged in a Docker container. The source code and the Dockerfile are available in the <a href="https://github.com/kubernetes/kubernetes-bootcamp">GitHub repository</a> for the Kubernetes Bootcamp.</p>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p>For our first Deployment, we'll use a <a href="https://nodejs.org">Node.js</a> application packaged in a Docker container. The source code and the Dockerfile are available in the <a href="https://github.com/kubernetes/kubernetes-bootcamp">GitHub repository</a> for the Kubernetes Bootcamp.</p>
|
||||
|
||||
<p>Now that you know what Deployments are, let's go to the online tutorial and deploy our first app!</p>
|
||||
<p>Now that you know what Deployments are, let's go to the online tutorial and deploy our first app!</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/deploy-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/deploy-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</main>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -13,25 +13,25 @@ title: Interactive Tutorial - Exploring Your App
|
||||
|
||||
<div class="layout" id="top">
|
||||
|
||||
<main class="content katacoda-content">
|
||||
<main class="content katacoda-content">
|
||||
|
||||
<br>
|
||||
<div class="katacoda">
|
||||
<br>
|
||||
<div class="katacoda">
|
||||
|
||||
<div class="katacoda__alert">
|
||||
To interact with the Terminal, please use the desktop/tablet version
|
||||
</div>
|
||||
<div class="katacoda__alert">
|
||||
To interact with the Terminal, please use the desktop/tablet version
|
||||
</div>
|
||||
|
||||
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/4" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/expose-intro/" role="button">Continue to Module 4<span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/4" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/expose-intro/" role="button">Continue to Module 4<span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</main>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -13,128 +13,128 @@ title: Viewing Pods and Nodes
|
||||
|
||||
<div class="layout" id="top">
|
||||
|
||||
<main class="content">
|
||||
<main class="content">
|
||||
|
||||
<div class="row">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-8">
|
||||
<h3>Objectives</h3>
|
||||
<ul>
|
||||
<li>Learn about Kubernetes Pods.</li>
|
||||
<li>Learn about Kubernetes Nodes.</li>
|
||||
<li>Troubleshoot deployed applications.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<h3>Objectives</h3>
|
||||
<ul>
|
||||
<li>Learn about Kubernetes Pods.</li>
|
||||
<li>Learn about Kubernetes Nodes.</li>
|
||||
<li>Troubleshoot deployed applications.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="col-md-8">
|
||||
<h2>Kubernetes Pods</h2>
|
||||
<p>When you created a Deployment in Module <a href="/docs/tutorials/kubernetes-basics/deploy-intro/">2</a>, Kubernetes created a <b>Pod</b> to host your application instance. A Pod is a Kubernetes abstraction that represents a group of one or more application containers (such as Docker or rkt), and some shared resources for those containers. Those resources include:</p>
|
||||
<ul>
|
||||
<li>Shared storage, as Volumes</li>
|
||||
<li>Networking, as a unique cluster IP address</li>
|
||||
<li>Information about how to run each container, such as the container image version or specific ports to use</li>
|
||||
</ul>
|
||||
<p>A Pod models an application-specific "logical host" and can contain different application containers which are relatively tightly coupled. For example, a Pod might include both the container with your Node.js app as well as a different container that feeds the data to be published by the Node.js webserver. The containers in a Pod share an IP Address and port space, are always co-located and co-scheduled, and run in a shared context on the same Node.</p>
|
||||
<div class="col-md-8">
|
||||
<h2>Kubernetes Pods</h2>
|
||||
<p>When you created a Deployment in Module <a href="/docs/tutorials/kubernetes-basics/deploy-intro/">2</a>, Kubernetes created a <b>Pod</b> to host your application instance. A Pod is a Kubernetes abstraction that represents a group of one or more application containers (such as Docker or rkt), and some shared resources for those containers. Those resources include:</p>
|
||||
<ul>
|
||||
<li>Shared storage, as Volumes</li>
|
||||
<li>Networking, as a unique cluster IP address</li>
|
||||
<li>Information about how to run each container, such as the container image version or specific ports to use</li>
|
||||
</ul>
|
||||
<p>A Pod models an application-specific "logical host" and can contain different application containers which are relatively tightly coupled. For example, a Pod might include both the container with your Node.js app as well as a different container that feeds the data to be published by the Node.js webserver. The containers in a Pod share an IP Address and port space, are always co-located and co-scheduled, and run in a shared context on the same Node.</p>
|
||||
|
||||
<p>Pods are the atomic unit on the Kubernetes platform. When we create a Deployment on Kubernetes, that Deployment creates Pods with containers inside them (as opposed to creating containers directly). Each Pod is tied to the Node where it is scheduled, and remains there until termination (according to restart policy) or deletion. In case of a Node failure, identical Pods are scheduled on other available Nodes in the cluster.</p>
|
||||
<p>Pods are the atomic unit on the Kubernetes platform. When we create a Deployment on Kubernetes, that Deployment creates Pods with containers inside them (as opposed to creating containers directly). Each Pod is tied to the Node where it is scheduled, and remains there until termination (according to restart policy) or deletion. In case of a Node failure, identical Pods are scheduled on other available Nodes in the cluster.</p>
|
||||
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_lined">
|
||||
<h3>Summary:</h3>
|
||||
<ul>
|
||||
<li>Pods</li>
|
||||
<li>Nodes</li>
|
||||
<li>Kubectl main commands</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i>
|
||||
A Pod is a group of one or more application containers (such as Docker or rkt) and includes shared storage (volumes), IP address and information about how to run them.
|
||||
</i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_lined">
|
||||
<h3>Summary:</h3>
|
||||
<ul>
|
||||
<li>Pods</li>
|
||||
<li>Nodes</li>
|
||||
<li>Kubectl main commands</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i>
|
||||
A Pod is a group of one or more application containers (such as Docker or rkt) and includes shared storage (volumes), IP address and information about how to run them.
|
||||
</i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2 style="color: #3771e3;">Pods overview</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2 style="color: #3771e3;">Pods overview</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_03_pods.svg"></p>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_03_pods.svg"></p>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2>Nodes</h2>
|
||||
<p>A Pod always runs on a <b>Node</b>. A Node is a worker machine in Kubernetes and may be either a virtual or a physical machine, depending on the cluster. Each Node is managed by the Master. A Node can have multiple pods, and the Kubernetes master automatically handles scheduling the pods across the Nodes in the cluster. The Master's automatic scheduling takes into account the available resources on each Node.</p>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2>Nodes</h2>
|
||||
<p>A Pod always runs on a <b>Node</b>. A Node is a worker machine in Kubernetes and may be either a virtual or a physical machine, depending on the cluster. Each Node is managed by the Master. A Node can have multiple pods, and the Kubernetes master automatically handles scheduling the pods across the Nodes in the cluster. The Master's automatic scheduling takes into account the available resources on each Node.</p>
|
||||
|
||||
<p>Every Kubernetes Node runs at least:</p>
|
||||
<ul>
|
||||
<li>Kubelet, a process responsible for communication between the Kubernetes Master and the Nodes; it manages the Pods and the containers running on a machine.</li>
|
||||
<li>A container runtime (like Docker, rkt) responsible for pulling the container image from a registry, unpacking the container, and running the application.</li>
|
||||
</ul>
|
||||
<p>Every Kubernetes Node runs at least:</p>
|
||||
<ul>
|
||||
<li>Kubelet, a process responsible for communication between the Kubernetes Master and the Nodes; it manages the Pods and the containers running on a machine.</li>
|
||||
<li>A container runtime (like Docker, rkt) responsible for pulling the container image from a registry, unpacking the container, and running the application.</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i> Containers should only be scheduled together in a single Pod if they are tightly coupled and need to share resources such as disk. </i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i> Containers should only be scheduled together in a single Pod if they are tightly coupled and need to share resources such as disk. </i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2 style="color: #3771e3;">Node overview</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2 style="color: #3771e3;">Node overview</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_03_nodes.svg"></p>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_03_nodes.svg"></p>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2>Troubleshooting with kubectl</h2>
|
||||
<p>In Module <a href="/docs/tutorials/kubernetes-basics/deploy-intro/">2</a>, you used Kubectl command-line interface. You'll continue to use it in Module 3 to get information about deployed applications and their environments. The most common operations can be done with the following kubectl commands:</p>
|
||||
<ul>
|
||||
<li><b>kubectl get</b> - list resources</li>
|
||||
<li><b>kubectl describe</b> - show detailed information about a resource</li>
|
||||
<li><b>kubectl logs</b> - print the logs from a container in a pod</li>
|
||||
<li><b>kubectl exec</b> - execute a command on a container in a pod</li>
|
||||
</ul>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2>Troubleshooting with kubectl</h2>
|
||||
<p>In Module <a href="/docs/tutorials/kubernetes-basics/deploy-intro/">2</a>, you used Kubectl command-line interface. You'll continue to use it in Module 3 to get information about deployed applications and their environments. The most common operations can be done with the following kubectl commands:</p>
|
||||
<ul>
|
||||
<li><b>kubectl get</b> - list resources</li>
|
||||
<li><b>kubectl describe</b> - show detailed information about a resource</li>
|
||||
<li><b>kubectl logs</b> - print the logs from a container in a pod</li>
|
||||
<li><b>kubectl exec</b> - execute a command on a container in a pod</li>
|
||||
</ul>
|
||||
|
||||
<p>You can use these commands to see when applications were deployed, what their current statuses are, where they are running and what their configurations are.</p>
|
||||
<p>You can use these commands to see when applications were deployed, what their current statuses are, where they are running and what their configurations are.</p>
|
||||
|
||||
<p>Now that we know more about our cluster components and the command line, let's explore our application.</p>
|
||||
<p>Now that we know more about our cluster components and the command line, let's explore our application.</p>
|
||||
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i> A node is a worker machine in Kubernetes and may be a VM or physical machine, depending on the cluster. Multiple Pods can run on one Node. </i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i> A node is a worker machine in Kubernetes and may be a VM or physical machine, depending on the cluster. Multiple Pods can run on one Node. </i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/explore-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/explore-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</main>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -13,22 +13,22 @@ title: Interactive Tutorial - Exposing Your App
|
||||
|
||||
<div class="layout" id="top">
|
||||
|
||||
<main class="content katacoda-content">
|
||||
<main class="content katacoda-content">
|
||||
|
||||
<div class="katacoda">
|
||||
<div class="katacoda__alert">
|
||||
To interact with the Terminal, please use the desktop/tablet version
|
||||
</div>
|
||||
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/8" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/scale-intro/" role="button">Continue to Module 5<span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="katacoda">
|
||||
<div class="katacoda__alert">
|
||||
To interact with the Terminal, please use the desktop/tablet version
|
||||
</div>
|
||||
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/8" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/scale-intro/" role="button">Continue to Module 5<span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</main>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -12,125 +12,125 @@ title: Using a Service to Expose Your App
|
||||
|
||||
<div class="layout" id="top">
|
||||
|
||||
<main class="content">
|
||||
<main class="content">
|
||||
|
||||
<div class="row">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-8">
|
||||
<h3>Objectives</h3>
|
||||
<ul>
|
||||
<li>Learn about Kubernetes Services.</li>
|
||||
<li>Learn about Kubernetes Labels.</li>
|
||||
<li>Expose an application outside Kubernetes.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<h3>Objectives</h3>
|
||||
<ul>
|
||||
<li>Learn about Kubernetes Services.</li>
|
||||
<li>Learn about Kubernetes Labels.</li>
|
||||
<li>Expose an application outside Kubernetes.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="col-md-8">
|
||||
<h3>Kubernetes Services</h3>
|
||||
<div class="col-md-8">
|
||||
<h3>Kubernetes Services</h3>
|
||||
|
||||
<p>While Pods do have their own unique IP across the cluster, those IPs are not exposed outside Kubernetes. Taking into account that over time Pods may be terminated, deleted or replaced by other Pods, we need a way to let other Pods and applications automatically discover each other. Kubernetes addresses this by grouping Pods in Services. A Kubernetes <b>Service</b> is an abstraction layer which defines a logical set of Pods and enables external traffic exposure, load balancing and service discovery for those Pods.</p>
|
||||
<p>While Pods do have their own unique IP across the cluster, those IPs are not exposed outside Kubernetes. Taking into account that over time Pods may be terminated, deleted or replaced by other Pods, we need a way to let other Pods and applications automatically discover each other. Kubernetes addresses this by grouping Pods in Services. A Kubernetes <b>Service</b> is an abstraction layer which defines a logical set of Pods and enables external traffic exposure, load balancing and service discovery for those Pods.</p>
|
||||
|
||||
<p>This abstraction will allow us to expose Pods to traffic originating from outside the cluster. Services have their own unique cluster-private IP address and expose a port to receive traffic. If you choose to expose the service outside the cluster, the options are:</p>
|
||||
<ul>
|
||||
<li>LoadBalancer - provides a public IP address (what you would typically use when you run Kubernetes on GCP or AWS)</li>
|
||||
<li>NodePort - exposes the Service on the same port on each Node of the cluster using NAT (available on all Kubernetes clusters, and in Minikube)</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_lined">
|
||||
<h3>Summary:</h3>
|
||||
<ul>
|
||||
<li>Exposing Pods to external traffic</li>
|
||||
<li>Load balancing traffic across multiple Pods</li>
|
||||
<li>Using labels</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i>
|
||||
A Kubernetes Service is an abstraction layer which defines a logical set of Pods and enables external traffic exposure, load balancing and service discovery for those Pods.
|
||||
</i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<p>This abstraction will allow us to expose Pods to traffic originating from outside the cluster. Services have their own unique cluster-private IP address and expose a port to receive traffic. If you choose to expose the service outside the cluster, the options are:</p>
|
||||
<ul>
|
||||
<li>LoadBalancer - provides a public IP address (what you would typically use when you run Kubernetes on GCP or AWS)</li>
|
||||
<li>NodePort - exposes the Service on the same port on each Node of the cluster using NAT (available on all Kubernetes clusters, and in Minikube)</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_lined">
|
||||
<h3>Summary:</h3>
|
||||
<ul>
|
||||
<li>Exposing Pods to external traffic</li>
|
||||
<li>Load balancing traffic across multiple Pods</li>
|
||||
<li>Using labels</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i>
|
||||
A Kubernetes Service is an abstraction layer which defines a logical set of Pods and enables external traffic exposure, load balancing and service discovery for those Pods.
|
||||
</i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2 style="color: #3771e3;">Services overview</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2 style="color: #3771e3;">Services overview</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_04_services.svg"></p>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_04_services.svg"></p>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
||||
<p>A Service provides load balancing of traffic across the contained set of Pods. This is useful when a service is created to group all Pods from a specific Deployment (our application will make use of this in the next module, when we'll have multiple instances running).</p>
|
||||
<p>A Service provides load balancing of traffic across the contained set of Pods. This is useful when a service is created to group all Pods from a specific Deployment (our application will make use of this in the next module, when we'll have multiple instances running).</p>
|
||||
|
||||
<p>Services are also responsible for service-discovery within the cluster (covered in <a href="/docs/user-guide/connecting-applications/#accessing-the-service">Accessing the Service</a>). This will for example allow a frontend service (like a web server) to receive traffic from a backend service (like a database) without worrying about Pods.</p>
|
||||
<p>Services are also responsible for service-discovery within the cluster (covered in <a href="/docs/user-guide/connecting-applications/#accessing-the-service">Accessing the Service</a>). This will for example allow a frontend service (like a web server) to receive traffic from a backend service (like a database) without worrying about Pods.</p>
|
||||
|
||||
<p>Services match a set of Pods using Label Selectors, a grouping primitive that allows logical operation on Labels.</p>
|
||||
<p>Services match a set of Pods using Label Selectors, a grouping primitive that allows logical operation on Labels.</p>
|
||||
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i> You can create a Service when you start a Deployment by adding --expose as a parameter for the kubectl run command </i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i> You can create a Service when you start a Deployment by adding --expose as a parameter for the kubectl run command </i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p><b>Labels</b> are key/value pairs that are attached to objects, such as Pods and you can think of them as hashtags from social media. They are used to organize related objects in a way meaningful to the users like:</p>
|
||||
<ul>
|
||||
<li>Production environment (production, test, dev)</li>
|
||||
<li>Application version (beta, v1.3)</li>
|
||||
<li>Type of service/server (frontend, backend, database)</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i> Labels are key/value pairs that are attached to objects </i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2 style="color: #3771e3;">Labels</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p><b>Labels</b> are key/value pairs that are attached to objects, such as Pods and you can think of them as hashtags from social media. They are used to organize related objects in a way meaningful to the users like:</p>
|
||||
<ul>
|
||||
<li>Production environment (production, test, dev)</li>
|
||||
<li>Application version (beta, v1.3)</li>
|
||||
<li>Type of service/server (frontend, backend, database)</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i> Labels are key/value pairs that are attached to objects </i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2 style="color: #3771e3;">Labels</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_04_labels.svg"></p>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p><img src="/docs/tutorials/kubernetes-basics/public/images/module_04_labels.svg"></p>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
||||
<p>Labels can be attached to objects at the creation time or later and can be modified at any time.
|
||||
The kubectl run command sets some default Labels/Label Selectors on the new Pods/ Deployment. The link between Labels and Label Selectors defines the relationship between the Deployment and the Pods it creates.</p>
|
||||
<p>Labels can be attached to objects at the creation time or later and can be modified at any time.
|
||||
The kubectl run command sets some default Labels/Label Selectors on the new Pods/ Deployment. The link between Labels and Label Selectors defines the relationship between the Deployment and the Pods it creates.</p>
|
||||
|
||||
<p>Now let's expose our application with the help of a Service, and apply some new Labels.</p>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/expose-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
<p>Now let's expose our application with the help of a Service, and apply some new Labels.</p>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/expose-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</main>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -13,22 +13,22 @@ title: Interactive Tutorial - Scaling Your App
|
||||
|
||||
<div class="layout" id="top">
|
||||
|
||||
<main class="content katacoda-content">
|
||||
<main class="content katacoda-content">
|
||||
|
||||
<div class="katacoda">
|
||||
<div class="katacoda__alert">
|
||||
To interact with the Terminal, please use the desktop/tablet version
|
||||
</div>
|
||||
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/5" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/update-intro/" role="button">Continue to Module 6<span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="katacoda">
|
||||
<div class="katacoda__alert">
|
||||
To interact with the Terminal, please use the desktop/tablet version
|
||||
</div>
|
||||
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/5" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/update-intro/" role="button">Continue to Module 6<span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</main>
|
||||
|
||||
<a class="scrolltop" href="#top"></a>
|
||||
|
||||
|
||||
@@ -12,107 +12,107 @@ title: Running Multiple Instances of Your App
|
||||
|
||||
<div class="layout" id="top">
|
||||
|
||||
<main class="content">
|
||||
<main class="content">
|
||||
|
||||
<div class="row">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-8">
|
||||
<h3>Objectives</h3>
|
||||
<ul>
|
||||
<li>Scale an app using kubectl.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<h3>Objectives</h3>
|
||||
<ul>
|
||||
<li>Scale an app using kubectl.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="col-md-8">
|
||||
<div class="col-md-8">
|
||||
<h3>Scaling an application</h3>
|
||||
|
||||
<p>In the previous modules we created a <a href="http://kubernetes.io/docs/user-guide/deployments/"> Deployment</a>, and then exposed it publicly via a <a href="http://kubernetes.io/docs/user-guide/services/">Service</a>. The Deployment created only one Pod for running our application. When traffic increases, we will need to scale the application to keep up with user demand.</p>
|
||||
<p>In the previous modules we created a <a href="http://kubernetes.io/docs/user-guide/deployments/"> Deployment</a>, and then exposed it publicly via a <a href="http://kubernetes.io/docs/user-guide/services/">Service</a>. The Deployment created only one Pod for running our application. When traffic increases, we will need to scale the application to keep up with user demand.</p>
|
||||
|
||||
<p><b>Scaling</b> is accomplished by changing the number of replicas in a Deployment</p>
|
||||
<p><b>Scaling</b> is accomplished by changing the number of replicas in a Deployment</p>
|
||||
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_lined">
|
||||
<h3>Summary:</h3>
|
||||
<ul>
|
||||
<li>Scaling a Deployment</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i> You can create from the start a Deployment with multiple instances using the --replicas parameter for the kubectl run command </i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_lined">
|
||||
<h3>Summary:</h3>
|
||||
<ul>
|
||||
<li>Scaling a Deployment</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i> You can create from the start a Deployment with multiple instances using the --replicas parameter for the kubectl run command </i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2 style="color: #3771e3;">Scaling overview</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2 style="color: #3771e3;">Scaling overview</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-1"></div>
|
||||
<div class="col-md-8">
|
||||
<div id="myCarousel" class="carousel" data-ride="carousel" data-interval="3000">
|
||||
<ol class="carousel-indicators">
|
||||
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
|
||||
<li data-target="#myCarousel" data-slide-to="1"></li>
|
||||
</ol>
|
||||
<div class="carousel-inner" role="listbox">
|
||||
<div class="item active">
|
||||
<img src="/docs/tutorials/kubernetes-basics/public/images/module_05_scaling1.svg">
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-1"></div>
|
||||
<div class="col-md-8">
|
||||
<div id="myCarousel" class="carousel" data-ride="carousel" data-interval="3000">
|
||||
<ol class="carousel-indicators">
|
||||
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
|
||||
<li data-target="#myCarousel" data-slide-to="1"></li>
|
||||
</ol>
|
||||
<div class="carousel-inner" role="listbox">
|
||||
<div class="item active">
|
||||
<img src="/docs/tutorials/kubernetes-basics/public/images/module_05_scaling1.svg">
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<img src="/docs/tutorials/kubernetes-basics/public/images/module_05_scaling2.svg">
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="/docs/tutorials/kubernetes-basics/public/images/module_05_scaling2.svg">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
|
||||
<span class="sr-only ">Previous</span>
|
||||
</a>
|
||||
<a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
|
||||
<span class="sr-only">Next</span>
|
||||
</a>
|
||||
<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
|
||||
<span class="sr-only ">Previous</span>
|
||||
</a>
|
||||
<a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
|
||||
<span class="sr-only">Next</span>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
||||
<p>Scaling up a Deployment will ensure new Pods are created and scheduled to Nodes with available resources. Scaling down will reduce the number of Pods to the new desired state. Kubernetes also supports <a href="http://kubernetes.io/docs/user-guide/horizontal-pod-autoscaling/"> autoscaling </a> of Pods, but it is outside of the scope of this tutorial. Scaling to zero is also possible, and it will terminate all Pods of the specified Deployment.</p>
|
||||
<p>Scaling up a Deployment will ensure new Pods are created and scheduled to Nodes with available resources. Scaling down will reduce the number of Pods to the new desired state. Kubernetes also supports <a href="http://kubernetes.io/docs/user-guide/horizontal-pod-autoscaling/"> autoscaling </a> of Pods, but it is outside of the scope of this tutorial. Scaling to zero is also possible, and it will terminate all Pods of the specified Deployment.</p>
|
||||
|
||||
<p>Running multiple instances of an application will require a way to distribute the traffic to all of them. Services have an integrated load-balancer that will distribute network traffic to all Pods of an exposed Deployment. Services will monitor continuously the running Pods using endpoints, to ensure the traffic is sent only to available Pods.</p>
|
||||
<p>Running multiple instances of an application will require a way to distribute the traffic to all of them. Services have an integrated load-balancer that will distribute network traffic to all Pods of an exposed Deployment. Services will monitor continuously the running Pods using endpoints, to ensure the traffic is sent only to available Pods.</p>
|
||||
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i>Scaling is accomplished by changing the number of replicas in a Deployment.</i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i>Scaling is accomplished by changing the number of replicas in a Deployment.</i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p> Once you have multiple instances of an Application running, you would be able to do Rolling updates without downtime. We'll cover that in the next module. Now, let's go to the online terminal and scale our application.</p>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p> Once you have multiple instances of an Application running, you would be able to do Rolling updates without downtime. We'll cover that in the next module. Now, let's go to the online terminal and scale our application.</p>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/scale-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/scale-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</main>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -13,17 +13,17 @@ title: Interactive Tutorial - Updating Your App
|
||||
|
||||
<div class="layout" id="top">
|
||||
|
||||
<main class="content katacoda-content">
|
||||
<main class="content katacoda-content">
|
||||
|
||||
<div class="katacoda">
|
||||
<div class="katacoda__alert">
|
||||
To interact with the Terminal, please use the desktop/tablet version
|
||||
</div>
|
||||
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/6" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="katacoda">
|
||||
<div class="katacoda__alert">
|
||||
To interact with the Terminal, please use the desktop/tablet version
|
||||
</div>
|
||||
<div class="katacoda__box" id="inline-terminal-1" data-katacoda-id="kubernetes-bootcamp/6" data-katacoda-color="326de6" data-katacoda-secondary="273d6d" data-katacoda-hideintro="false" data-katacoda-font="Roboto" data-katacoda-fontheader="Roboto Slab" data-katacoda-prompt="Kubernetes Bootcamp Terminal" style="height: 600px;">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</main>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -12,122 +12,122 @@ title: Performing a Rolling Update
|
||||
|
||||
<div class="layout" id="top">
|
||||
|
||||
<main class="content">
|
||||
<main class="content">
|
||||
|
||||
<div class="row">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-8">
|
||||
<h3>Objectives</h3>
|
||||
<ul>
|
||||
<li>Perform a rolling update using kubectl.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<h3>Objectives</h3>
|
||||
<ul>
|
||||
<li>Perform a rolling update using kubectl.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="col-md-8">
|
||||
<h3>Updating an application</h3>
|
||||
<div class="col-md-8">
|
||||
<h3>Updating an application</h3>
|
||||
|
||||
<p>Users expect applications to be available all the time and developers are expected to deploy new versions of them several times a day. In Kubernetes this is done with rolling updates. <b>Rolling updates</b> allow Deployments' update to take place with zero downtime by incrementally updating Pods instances with new ones. The new Pods will be scheduled on Nodes with available resources.</p>
|
||||
<p>Users expect applications to be available all the time and developers are expected to deploy new versions of them several times a day. In Kubernetes this is done with rolling updates. <b>Rolling updates</b> allow Deployments' update to take place with zero downtime by incrementally updating Pods instances with new ones. The new Pods will be scheduled on Nodes with available resources.</p>
|
||||
|
||||
<p>In the previous module we scaled our application to run multiple instances. This is a requirement for performing updates without affecting application availability. By default, the maximum number of Pods that can be unavailable during the update and the maximum number of new Pods that can be created, is one. Both options can be configured to either numbers or percentages (of Pods).
|
||||
In Kubernetes, updates are versioned and any Deployment update can be reverted to previous (stable) version.</p>
|
||||
<p>In the previous module we scaled our application to run multiple instances. This is a requirement for performing updates without affecting application availability. By default, the maximum number of Pods that can be unavailable during the update and the maximum number of new Pods that can be created, is one. Both options can be configured to either numbers or percentages (of Pods).
|
||||
In Kubernetes, updates are versioned and any Deployment update can be reverted to previous (stable) version.</p>
|
||||
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_lined">
|
||||
<h3>Summary:</h3>
|
||||
<ul>
|
||||
<li>Updating an app</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i>Rolling updates allow Deployments' update to take place with zero downtime by incrementally updating Pods instances with new ones. </i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_lined">
|
||||
<h3>Summary:</h3>
|
||||
<ul>
|
||||
<li>Updating an app</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i>Rolling updates allow Deployments' update to take place with zero downtime by incrementally updating Pods instances with new ones. </i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2 style="color: #3771e3;">Rolling updates overview</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-1"></div>
|
||||
<div class="col-md-8">
|
||||
<div id="myCarousel" class="carousel" data-ride="carousel" data-interval="3000">
|
||||
<ol class="carousel-indicators">
|
||||
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
|
||||
<li data-target="#myCarousel" data-slide-to="1"></li>
|
||||
<li data-target="#myCarousel" data-slide-to="2"></li>
|
||||
<li data-target="#myCarousel" data-slide-to="3"></li>
|
||||
</ol>
|
||||
<div class="carousel-inner" role="listbox">
|
||||
<div class="item active">
|
||||
<img src="/docs/tutorials/kubernetes-basics/public/images/module_06_rollingupdates1.svg" >
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2 style="color: #3771e3;">Rolling updates overview</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-1"></div>
|
||||
<div class="col-md-8">
|
||||
<div id="myCarousel" class="carousel" data-ride="carousel" data-interval="3000">
|
||||
<ol class="carousel-indicators">
|
||||
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
|
||||
<li data-target="#myCarousel" data-slide-to="1"></li>
|
||||
<li data-target="#myCarousel" data-slide-to="2"></li>
|
||||
<li data-target="#myCarousel" data-slide-to="3"></li>
|
||||
</ol>
|
||||
<div class="carousel-inner" role="listbox">
|
||||
<div class="item active">
|
||||
<img src="/docs/tutorials/kubernetes-basics/public/images/module_06_rollingupdates1.svg" >
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<img src="/docs/tutorials/kubernetes-basics/public/images/module_06_rollingupdates2.svg">
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="/docs/tutorials/kubernetes-basics/public/images/module_06_rollingupdates2.svg">
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<img src="/docs/tutorials/kubernetes-basics/public/images/module_06_rollingupdates3.svg">
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="/docs/tutorials/kubernetes-basics/public/images/module_06_rollingupdates3.svg">
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<img src="/docs/tutorials/kubernetes-basics/public/images/module_06_rollingupdates4.svg">
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="/docs/tutorials/kubernetes-basics/public/images/module_06_rollingupdates4.svg">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
|
||||
<span class="sr-only ">Previous</span>
|
||||
</a>
|
||||
<a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
|
||||
<span class="sr-only">Next</span>
|
||||
</a>
|
||||
<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
|
||||
<span class="sr-only ">Previous</span>
|
||||
</a>
|
||||
<a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
|
||||
<span class="sr-only">Next</span>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
|
||||
<p>Similar to application Scaling, If a Deployment is exposed publicly, the Service will load-balance the traffic only to available Pods during the update. An available Pod is an instance that is available to the users of the application.</p>
|
||||
<p>Similar to application Scaling, If a Deployment is exposed publicly, the Service will load-balance the traffic only to available Pods during the update. An available Pod is an instance that is available to the users of the application.</p>
|
||||
|
||||
<p>Rolling updates allow the following actions:</p>
|
||||
<ul>
|
||||
<li>Promote an application from one environment to another (via container image updates)</li>
|
||||
<li>Rollback to previous versions</li>
|
||||
<li>Continuous Integration and Continuous Delivery of applications with zero downtime</li>
|
||||
<p>Rolling updates allow the following actions:</p>
|
||||
<ul>
|
||||
<li>Promote an application from one environment to another (via container image updates)</li>
|
||||
<li>Rollback to previous versions</li>
|
||||
<li>Continuous Integration and Continuous Delivery of applications with zero downtime</li>
|
||||
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i>If a Deployment is exposed publicly, the Service will load-balance the traffic only to available Pods during the update. </i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="content__box content__box_fill">
|
||||
<p><i>If a Deployment is exposed publicly, the Service will load-balance the traffic only to available Pods during the update. </i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p> In the following interactive tutorial we'll update our application to a new version, and also perform a rollback.</p>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<p> In the following interactive tutorial we'll update our application to a new version, and also perform a rollback.</p>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/update-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a class="btn btn-lg btn-success" href="/docs/tutorials/kubernetes-basics/update-interactive/" role="button">Start Interactive Tutorial <span class="btn__next">›</span></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</main>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -106,6 +106,7 @@ client_address=10.244.3.8
|
||||
command=GET
|
||||
...
|
||||
```
|
||||
If the client pod and server pod are in the same node, the client_address is the client pod's IP address. However, if the client pod and server pod are in different nodes, the client_address is the client pod's node flannel IP address.
|
||||
|
||||
## Source IP for Services with Type=NodePort
|
||||
|
||||
|
||||
@@ -91,20 +91,20 @@ for a secure solution.
|
||||
|
||||
kubectl describe deployment mysql
|
||||
|
||||
Name: mysql
|
||||
Namespace: default
|
||||
CreationTimestamp: Tue, 01 Nov 2016 11:18:45 -0700
|
||||
Labels: app=mysql
|
||||
Selector: app=mysql
|
||||
Replicas: 1 updated | 1 total | 0 available | 1 unavailable
|
||||
StrategyType: Recreate
|
||||
MinReadySeconds: 0
|
||||
OldReplicaSets: <none>
|
||||
NewReplicaSet: mysql-63082529 (1/1 replicas created)
|
||||
Name: mysql
|
||||
Namespace: default
|
||||
CreationTimestamp: Tue, 01 Nov 2016 11:18:45 -0700
|
||||
Labels: app=mysql
|
||||
Selector: app=mysql
|
||||
Replicas: 1 updated | 1 total | 0 available | 1 unavailable
|
||||
StrategyType: Recreate
|
||||
MinReadySeconds: 0
|
||||
OldReplicaSets: <none>
|
||||
NewReplicaSet: mysql-63082529 (1/1 replicas created)
|
||||
Events:
|
||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||
33s 33s 1 {deployment-controller } Normal ScalingReplicaSet Scaled up replica set mysql-63082529 to 1
|
||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||
33s 33s 1 {deployment-controller } Normal ScalingReplicaSet Scaled up replica set mysql-63082529 to 1
|
||||
|
||||
1. List the pods created by the Deployment:
|
||||
|
||||
@@ -117,33 +117,33 @@ for a secure solution.
|
||||
|
||||
kubectl describe pv mysql-pv
|
||||
|
||||
Name: mysql-pv
|
||||
Labels: <none>
|
||||
Status: Bound
|
||||
Claim: default/mysql-pv-claim
|
||||
Reclaim Policy: Retain
|
||||
Access Modes: RWO
|
||||
Capacity: 20Gi
|
||||
Message:
|
||||
Name: mysql-pv
|
||||
Labels: <none>
|
||||
Status: Bound
|
||||
Claim: default/mysql-pv-claim
|
||||
Reclaim Policy: Retain
|
||||
Access Modes: RWO
|
||||
Capacity: 20Gi
|
||||
Message:
|
||||
Source:
|
||||
Type: GCEPersistentDisk (a Persistent Disk resource in Google Compute Engine)
|
||||
PDName: mysql-disk
|
||||
FSType: ext4
|
||||
Partition: 0
|
||||
ReadOnly: false
|
||||
Type: GCEPersistentDisk (a Persistent Disk resource in Google Compute Engine)
|
||||
PDName: mysql-disk
|
||||
FSType: ext4
|
||||
Partition: 0
|
||||
ReadOnly: false
|
||||
No events.
|
||||
|
||||
1. Inspect the PersistentVolumeClaim:
|
||||
|
||||
kubectl describe pvc mysql-pv-claim
|
||||
|
||||
Name: mysql-pv-claim
|
||||
Namespace: default
|
||||
Status: Bound
|
||||
Volume: mysql-pv
|
||||
Labels: <none>
|
||||
Capacity: 20Gi
|
||||
Access Modes: RWO
|
||||
Name: mysql-pv-claim
|
||||
Namespace: default
|
||||
Status: Bound
|
||||
Volume: mysql-pv
|
||||
Labels: <none>
|
||||
Capacity: 20Gi
|
||||
Access Modes: RWO
|
||||
No events.
|
||||
|
||||
## Accessing the MySQL instance
|
||||
|
||||
@@ -877,9 +877,9 @@ word to test the server's health.
|
||||
ZK_CLIENT_PORT=${ZK_CLIENT_PORT:-2181}
|
||||
OK=$(echo ruok | nc 127.0.0.1 $ZK_CLIENT_PORT)
|
||||
if [ "$OK" == "imok" ]; then
|
||||
exit 0
|
||||
exit 0
|
||||
else
|
||||
exit 1
|
||||
exit 1
|
||||
fi
|
||||
```
|
||||
|
||||
|
||||
@@ -57,49 +57,49 @@ We can retrieve a lot more information about each of these pods using `kubectl d
|
||||
|
||||
```shell
|
||||
$ kubectl describe pod nginx-deployment-1006230814-6winp
|
||||
Name: nginx-deployment-1006230814-6winp
|
||||
Namespace: default
|
||||
Node: kubernetes-node-wul5/10.240.0.9
|
||||
Start Time: Thu, 24 Mar 2016 01:39:49 +0000
|
||||
Labels: app=nginx,pod-template-hash=1006230814
|
||||
Status: Running
|
||||
IP: 10.244.0.6
|
||||
Controllers: ReplicaSet/nginx-deployment-1006230814
|
||||
Name: nginx-deployment-1006230814-6winp
|
||||
Namespace: default
|
||||
Node: kubernetes-node-wul5/10.240.0.9
|
||||
Start Time: Thu, 24 Mar 2016 01:39:49 +0000
|
||||
Labels: app=nginx,pod-template-hash=1006230814
|
||||
Status: Running
|
||||
IP: 10.244.0.6
|
||||
Controllers: ReplicaSet/nginx-deployment-1006230814
|
||||
Containers:
|
||||
nginx:
|
||||
Container ID: docker://90315cc9f513c724e9957a4788d3e625a078de84750f244a40f97ae355eb1149
|
||||
Image: nginx
|
||||
Image ID: docker://6f62f48c4e55d700cf3eb1b5e33fa051802986b77b874cc351cce539e5163707
|
||||
Port: 80/TCP
|
||||
Container ID: docker://90315cc9f513c724e9957a4788d3e625a078de84750f244a40f97ae355eb1149
|
||||
Image: nginx
|
||||
Image ID: docker://6f62f48c4e55d700cf3eb1b5e33fa051802986b77b874cc351cce539e5163707
|
||||
Port: 80/TCP
|
||||
QoS Tier:
|
||||
cpu: Guaranteed
|
||||
memory: Guaranteed
|
||||
cpu: Guaranteed
|
||||
memory: Guaranteed
|
||||
Limits:
|
||||
cpu: 500m
|
||||
memory: 128Mi
|
||||
cpu: 500m
|
||||
memory: 128Mi
|
||||
Requests:
|
||||
memory: 128Mi
|
||||
cpu: 500m
|
||||
State: Running
|
||||
Started: Thu, 24 Mar 2016 01:39:51 +0000
|
||||
Ready: True
|
||||
Restart Count: 0
|
||||
memory: 128Mi
|
||||
cpu: 500m
|
||||
State: Running
|
||||
Started: Thu, 24 Mar 2016 01:39:51 +0000
|
||||
Ready: True
|
||||
Restart Count: 0
|
||||
Environment Variables:
|
||||
Conditions:
|
||||
Type Status
|
||||
Ready True
|
||||
Type Status
|
||||
Ready True
|
||||
Volumes:
|
||||
default-token-4bcbi:
|
||||
Type: Secret (a volume populated by a Secret)
|
||||
SecretName: default-token-4bcbi
|
||||
Type: Secret (a volume populated by a Secret)
|
||||
SecretName: default-token-4bcbi
|
||||
Events:
|
||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||
54s 54s 1 {default-scheduler } Normal Scheduled Successfully assigned nginx-deployment-1006230814-6winp to kubernetes-node-wul5
|
||||
54s 54s 1 {kubelet kubernetes-node-wul5} spec.containers{nginx} Normal Pulling pulling image "nginx"
|
||||
53s 53s 1 {kubelet kubernetes-node-wul5} spec.containers{nginx} Normal Pulled Successfully pulled image "nginx"
|
||||
53s 53s 1 {kubelet kubernetes-node-wul5} spec.containers{nginx} Normal Created Created container with docker id 90315cc9f513
|
||||
53s 53s 1 {kubelet kubernetes-node-wul5} spec.containers{nginx} Normal Started Started container with docker id 90315cc9f513
|
||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||
54s 54s 1 {default-scheduler } Normal Scheduled Successfully assigned nginx-deployment-1006230814-6winp to kubernetes-node-wul5
|
||||
54s 54s 1 {kubelet kubernetes-node-wul5} spec.containers{nginx} Normal Pulling pulling image "nginx"
|
||||
53s 53s 1 {kubelet kubernetes-node-wul5} spec.containers{nginx} Normal Pulled Successfully pulled image "nginx"
|
||||
53s 53s 1 {kubelet kubernetes-node-wul5} spec.containers{nginx} Normal Created Created container with docker id 90315cc9f513
|
||||
53s 53s 1 {kubelet kubernetes-node-wul5} spec.containers{nginx} Normal Started Started container with docker id 90315cc9f513
|
||||
```
|
||||
|
||||
Here you can see configuration information about the container(s) and Pod (labels, resource requirements, etc.), as well as status information about the container(s) and Pod (state, readiness, restart count, events, etc.)
|
||||
@@ -132,35 +132,35 @@ To find out why the nginx-deployment-1370807587-fz9sd pod is not running, we can
|
||||
|
||||
```shell
|
||||
$ kubectl describe pod nginx-deployment-1370807587-fz9sd
|
||||
Name: nginx-deployment-1370807587-fz9sd
|
||||
Namespace: default
|
||||
Node: /
|
||||
Labels: app=nginx,pod-template-hash=1370807587
|
||||
Status: Pending
|
||||
IP:
|
||||
Controllers: ReplicaSet/nginx-deployment-1370807587
|
||||
Name: nginx-deployment-1370807587-fz9sd
|
||||
Namespace: default
|
||||
Node: /
|
||||
Labels: app=nginx,pod-template-hash=1370807587
|
||||
Status: Pending
|
||||
IP:
|
||||
Controllers: ReplicaSet/nginx-deployment-1370807587
|
||||
Containers:
|
||||
nginx:
|
||||
Image: nginx
|
||||
Port: 80/TCP
|
||||
Image: nginx
|
||||
Port: 80/TCP
|
||||
QoS Tier:
|
||||
memory: Guaranteed
|
||||
cpu: Guaranteed
|
||||
memory: Guaranteed
|
||||
cpu: Guaranteed
|
||||
Limits:
|
||||
cpu: 1
|
||||
memory: 128Mi
|
||||
cpu: 1
|
||||
memory: 128Mi
|
||||
Requests:
|
||||
cpu: 1
|
||||
memory: 128Mi
|
||||
cpu: 1
|
||||
memory: 128Mi
|
||||
Environment Variables:
|
||||
Volumes:
|
||||
default-token-4bcbi:
|
||||
Type: Secret (a volume populated by a Secret)
|
||||
SecretName: default-token-4bcbi
|
||||
Type: Secret (a volume populated by a Secret)
|
||||
SecretName: default-token-4bcbi
|
||||
Events:
|
||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||
1m 48s 7 {default-scheduler } Warning FailedScheduling pod (nginx-deployment-1370807587-fz9sd) failed to fit in any node
|
||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||
1m 48s 7 {default-scheduler } Warning FailedScheduling pod (nginx-deployment-1370807587-fz9sd) failed to fit in any node
|
||||
fit failure on node (kubernetes-node-6ta5): Node didn't have enough resource: CPU, requested: 1000, used: 1420, capacity: 2000
|
||||
fit failure on node (kubernetes-node-wul5): Node didn't have enough resource: CPU, requested: 1000, used: 1100, capacity: 2000
|
||||
```
|
||||
@@ -270,34 +270,34 @@ kubernetes-node-st6x Ready 1h
|
||||
kubernetes-node-unaj Ready 1h
|
||||
|
||||
$ kubectl describe node kubernetes-node-861h
|
||||
Name: kubernetes-node-861h
|
||||
Labels: kubernetes.io/hostname=kubernetes-node-861h
|
||||
CreationTimestamp: Fri, 10 Jul 2015 14:32:29 -0700
|
||||
Name: kubernetes-node-861h
|
||||
Labels: kubernetes.io/hostname=kubernetes-node-861h
|
||||
CreationTimestamp: Fri, 10 Jul 2015 14:32:29 -0700
|
||||
Conditions:
|
||||
Type Status LastHeartbeatTime LastTransitionTime Reason Message
|
||||
Ready Unknown Fri, 10 Jul 2015 14:34:32 -0700 Fri, 10 Jul 2015 14:35:15 -0700 Kubelet stopped posting node status.
|
||||
Addresses: 10.240.115.55,104.197.0.26
|
||||
Type Status LastHeartbeatTime LastTransitionTime Reason Message
|
||||
Ready Unknown Fri, 10 Jul 2015 14:34:32 -0700 Fri, 10 Jul 2015 14:35:15 -0700 Kubelet stopped posting node status.
|
||||
Addresses: 10.240.115.55,104.197.0.26
|
||||
Capacity:
|
||||
cpu: 1
|
||||
memory: 3800808Ki
|
||||
pods: 100
|
||||
cpu: 1
|
||||
memory: 3800808Ki
|
||||
pods: 100
|
||||
Version:
|
||||
Kernel Version: 3.16.0-0.bpo.4-amd64
|
||||
OS Image: Debian GNU/Linux 7 (wheezy)
|
||||
Container Runtime Version: docker://Unknown
|
||||
Kubelet Version: v0.21.1-185-gffc5a86098dc01
|
||||
Kube-Proxy Version: v0.21.1-185-gffc5a86098dc01
|
||||
PodCIDR: 10.244.0.0/24
|
||||
ExternalID: 15233045891481496305
|
||||
Pods: (0 in total)
|
||||
Namespace Name
|
||||
Kernel Version: 3.16.0-0.bpo.4-amd64
|
||||
OS Image: Debian GNU/Linux 7 (wheezy)
|
||||
Container Runtime Version: docker://Unknown
|
||||
Kubelet Version: v0.21.1-185-gffc5a86098dc01
|
||||
Kube-Proxy Version: v0.21.1-185-gffc5a86098dc01
|
||||
PodCIDR: 10.244.0.0/24
|
||||
ExternalID: 15233045891481496305
|
||||
Pods: (0 in total)
|
||||
Namespace Name
|
||||
Events:
|
||||
FirstSeen LastSeen Count From SubobjectPath Reason Message
|
||||
Fri, 10 Jul 2015 14:32:28 -0700 Fri, 10 Jul 2015 14:32:28 -0700 1 {kubelet kubernetes-node-861h} NodeNotReady Node kubernetes-node-861h status is now: NodeNotReady
|
||||
Fri, 10 Jul 2015 14:32:30 -0700 Fri, 10 Jul 2015 14:32:30 -0700 1 {kubelet kubernetes-node-861h} NodeNotReady Node kubernetes-node-861h status is now: NodeNotReady
|
||||
Fri, 10 Jul 2015 14:33:00 -0700 Fri, 10 Jul 2015 14:33:00 -0700 1 {kubelet kubernetes-node-861h} starting Starting kubelet.
|
||||
Fri, 10 Jul 2015 14:33:02 -0700 Fri, 10 Jul 2015 14:33:02 -0700 1 {kubelet kubernetes-node-861h} NodeReady Node kubernetes-node-861h status is now: NodeReady
|
||||
Fri, 10 Jul 2015 14:35:15 -0700 Fri, 10 Jul 2015 14:35:15 -0700 1 {controllermanager } NodeNotReady Node kubernetes-node-861h status is now: NodeNotReady
|
||||
FirstSeen LastSeen Count From SubobjectPath Reason Message
|
||||
Fri, 10 Jul 2015 14:32:28 -0700 Fri, 10 Jul 2015 14:32:28 -0700 1 {kubelet kubernetes-node-861h} NodeNotReady Node kubernetes-node-861h status is now: NodeNotReady
|
||||
Fri, 10 Jul 2015 14:32:30 -0700 Fri, 10 Jul 2015 14:32:30 -0700 1 {kubelet kubernetes-node-861h} NodeNotReady Node kubernetes-node-861h status is now: NodeNotReady
|
||||
Fri, 10 Jul 2015 14:33:00 -0700 Fri, 10 Jul 2015 14:33:00 -0700 1 {kubelet kubernetes-node-861h} starting Starting kubelet.
|
||||
Fri, 10 Jul 2015 14:33:02 -0700 Fri, 10 Jul 2015 14:33:02 -0700 1 {kubelet kubernetes-node-861h} NodeReady Node kubernetes-node-861h status is now: NodeReady
|
||||
Fri, 10 Jul 2015 14:35:15 -0700 Fri, 10 Jul 2015 14:35:15 -0700 1 {controllermanager } NodeNotReady Node kubernetes-node-861h status is now: NodeNotReady
|
||||
|
||||
|
||||
$ kubectl get node kubernetes-node-861h -o yaml
|
||||
|
||||
@@ -44,34 +44,34 @@ If you need help, just run `kubectl help` from the terminal window.
|
||||
|
||||
The following table includes short descriptions and the general syntax for all of the `kubectl` operations:
|
||||
|
||||
Operation | Syntax | Description
|
||||
Operation | Syntax | Description
|
||||
-------------------- | -------------------- | --------------------
|
||||
`annotate` | `kubectl annotate (-f FILENAME | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags]` | Add or update the annotations of one or more resources.
|
||||
`api-versions` | `kubectl api-versions [flags]` | List the API versions that are available.
|
||||
`apply` | `kubectl apply -f FILENAME [flags]`| Apply a configuration change to a resource from a file or stdin.
|
||||
`attach` | `kubectl attach POD -c CONTAINER [-i] [-t] [flags]` | Attach to a running container either to view the output stream or interact with the container (stdin).
|
||||
`autoscale` | `kubectl autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min=MINPODS] --max=MAXPODS [--cpu-percent=CPU] [flags]` | Automatically scale the set of pods that are managed by a replication controller.
|
||||
`cluster-info` | `kubectl cluster-info [flags]` | Display endpoint information about the master and services in the cluster.
|
||||
`config` | `kubectl config SUBCOMMAND [flags]` | Modifies kubeconfig files. See the individual subcommands for details.
|
||||
`create` | `kubectl create -f FILENAME [flags]` | Create one or more resources from a file or stdin.
|
||||
`delete` | `kubectl delete (-f FILENAME | TYPE [NAME | /NAME | -l label | --all]) [flags]` | Delete resources either from a file, stdin, or specifying label selectors, names, resource selectors, or resources.
|
||||
`describe` | `kubectl describe (-f FILENAME | TYPE [NAME_PREFIX | /NAME | -l label]) [flags]` | Display the detailed state of one or more resources.
|
||||
`edit` | `kubectl edit (-f FILENAME | TYPE NAME | TYPE/NAME) [flags]` | Edit and update the definition of one or more resources on the server by using the default editor.
|
||||
`exec` | `kubectl exec POD [-c CONTAINER] [-i] [-t] [flags] [-- COMMAND [args...]]` | Execute a command against a container in a pod,
|
||||
`explain` | `kubectl explain [--include-extended-apis=true] [--recursive=false] [flags]` | Get documentation of various resources. For instance pods, nodes, services, etc.
|
||||
`expose` | `kubectl expose (-f FILENAME | TYPE NAME | TYPE/NAME) [--port=port] [--protocol=TCP|UDP] [--target-port=number-or-name] [--name=name] [----external-ip=external-ip-of-service] [--type=type] [flags]` | Expose a replication controller, service, or pod as a new Kubernetes service.
|
||||
`get` | `kubectl get (-f FILENAME | TYPE [NAME | /NAME | -l label]) [--watch] [--sort-by=FIELD] [[-o | --output]=OUTPUT_FORMAT] [flags]` | List one or more resources.
|
||||
`label` | `kubectl label (-f FILENAME | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags]` | Add or update the labels of one or more resources.
|
||||
`logs` | `kubectl logs POD [-c CONTAINER] [--follow] [flags]` | Print the logs for a container in a pod.
|
||||
`patch` | `kubectl patch (-f FILENAME | TYPE NAME | TYPE/NAME) --patch PATCH [flags]` | Update one or more fields of a resource by using the strategic merge patch process.
|
||||
`port-forward` | `kubectl port-forward POD [LOCAL_PORT:]REMOTE_PORT [...[LOCAL_PORT_N:]REMOTE_PORT_N] [flags]` | Forward one or more local ports to a pod.
|
||||
`proxy` | `kubectl proxy [--port=PORT] [--www=static-dir] [--www-prefix=prefix] [--api-prefix=prefix] [flags]` | Run a proxy to the Kubernetes API server.
|
||||
`replace` | `kubectl replace -f FILENAME` | Replace a resource from a file or stdin.
|
||||
`rolling-update` | `kubectl rolling-update OLD_CONTROLLER_NAME ([NEW_CONTROLLER_NAME] --image=NEW_CONTAINER_IMAGE | -f NEW_CONTROLLER_SPEC) [flags]` | Perform a rolling update by gradually replacing the specified replication controller and its pods.
|
||||
`run` | `kubectl run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [flags]` | Run a specified image on the cluster.
|
||||
`scale` | `kubectl scale (-f FILENAME | TYPE NAME | TYPE/NAME) --replicas=COUNT [--resource-version=version] [--current-replicas=count] [flags]` | Update the size of the specified replication controller.
|
||||
`stop` | `kubectl stop` | Deprecated: Instead, see `kubectl delete`.
|
||||
`version` | `kubectl version [--client] [flags]` | Display the Kubernetes version running on the client and server.
|
||||
`annotate` | `kubectl annotate (-f FILENAME | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags]` | Add or update the annotations of one or more resources.
|
||||
`api-versions` | `kubectl api-versions [flags]` | List the API versions that are available.
|
||||
`apply` | `kubectl apply -f FILENAME [flags]`| Apply a configuration change to a resource from a file or stdin.
|
||||
`attach` | `kubectl attach POD -c CONTAINER [-i] [-t] [flags]` | Attach to a running container either to view the output stream or interact with the container (stdin).
|
||||
`autoscale` | `kubectl autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min=MINPODS] --max=MAXPODS [--cpu-percent=CPU] [flags]` | Automatically scale the set of pods that are managed by a replication controller.
|
||||
`cluster-info` | `kubectl cluster-info [flags]` | Display endpoint information about the master and services in the cluster.
|
||||
`config` | `kubectl config SUBCOMMAND [flags]` | Modifies kubeconfig files. See the individual subcommands for details.
|
||||
`create` | `kubectl create -f FILENAME [flags]` | Create one or more resources from a file or stdin.
|
||||
`delete` | `kubectl delete (-f FILENAME | TYPE [NAME | /NAME | -l label | --all]) [flags]` | Delete resources either from a file, stdin, or specifying label selectors, names, resource selectors, or resources.
|
||||
`describe` | `kubectl describe (-f FILENAME | TYPE [NAME_PREFIX | /NAME | -l label]) [flags]` | Display the detailed state of one or more resources.
|
||||
`edit` | `kubectl edit (-f FILENAME | TYPE NAME | TYPE/NAME) [flags]` | Edit and update the definition of one or more resources on the server by using the default editor.
|
||||
`exec` | `kubectl exec POD [-c CONTAINER] [-i] [-t] [flags] [-- COMMAND [args...]]` | Execute a command against a container in a pod,
|
||||
`explain` | `kubectl explain [--include-extended-apis=true] [--recursive=false] [flags]` | Get documentation of various resources. For instance pods, nodes, services, etc.
|
||||
`expose` | `kubectl expose (-f FILENAME | TYPE NAME | TYPE/NAME) [--port=port] [--protocol=TCP|UDP] [--target-port=number-or-name] [--name=name] [----external-ip=external-ip-of-service] [--type=type] [flags]` | Expose a replication controller, service, or pod as a new Kubernetes service.
|
||||
`get` | `kubectl get (-f FILENAME | TYPE [NAME | /NAME | -l label]) [--watch] [--sort-by=FIELD] [[-o | --output]=OUTPUT_FORMAT] [flags]` | List one or more resources.
|
||||
`label` | `kubectl label (-f FILENAME | TYPE NAME | TYPE/NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--overwrite] [--all] [--resource-version=version] [flags]` | Add or update the labels of one or more resources.
|
||||
`logs` | `kubectl logs POD [-c CONTAINER] [--follow] [flags]` | Print the logs for a container in a pod.
|
||||
`patch` | `kubectl patch (-f FILENAME | TYPE NAME | TYPE/NAME) --patch PATCH [flags]` | Update one or more fields of a resource by using the strategic merge patch process.
|
||||
`port-forward` | `kubectl port-forward POD [LOCAL_PORT:]REMOTE_PORT [...[LOCAL_PORT_N:]REMOTE_PORT_N] [flags]` | Forward one or more local ports to a pod.
|
||||
`proxy` | `kubectl proxy [--port=PORT] [--www=static-dir] [--www-prefix=prefix] [--api-prefix=prefix] [flags]` | Run a proxy to the Kubernetes API server.
|
||||
`replace` | `kubectl replace -f FILENAME` | Replace a resource from a file or stdin.
|
||||
`rolling-update` | `kubectl rolling-update OLD_CONTROLLER_NAME ([NEW_CONTROLLER_NAME] --image=NEW_CONTAINER_IMAGE | -f NEW_CONTROLLER_SPEC) [flags]` | Perform a rolling update by gradually replacing the specified replication controller and its pods.
|
||||
`run` | `kubectl run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [flags]` | Run a specified image on the cluster.
|
||||
`scale` | `kubectl scale (-f FILENAME | TYPE NAME | TYPE/NAME) --replicas=COUNT [--resource-version=version] [--current-replicas=count] [flags]` | Update the size of the specified replication controller.
|
||||
`stop` | `kubectl stop` | Deprecated: Instead, see `kubectl delete`.
|
||||
`version` | `kubectl version [--client] [flags]` | Display the Kubernetes version running on the client and server.
|
||||
|
||||
Remember: For more about command operations, see the [kubectl](/docs/user-guide/kubectl) reference documentation.
|
||||
|
||||
@@ -79,7 +79,7 @@ Remember: For more about command operations, see the [kubectl](/docs/user-guide/
|
||||
|
||||
The following table includes a list of all the supported resource types and their abbreviated aliases:
|
||||
|
||||
Resource type | Abbreviated alias
|
||||
Resource type | Abbreviated alias
|
||||
-------------------- | --------------------
|
||||
`certificatesigningrequests` |`csr`
|
||||
`clusters` |
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
---
|
||||
title: kubectl
|
||||
---
|
||||
|
||||
## kubectl
|
||||
|
||||
kubectl controls the Kubernetes cluster manager
|
||||
|
||||
### Synopsis
|
||||
|
||||
|
||||
kubectl controls the Kubernetes cluster manager.
|
||||
|
||||
Find more information at [https://github.com/kubernetes/kubernetes](https://github.com/kubernetes/kubernetes).
|
||||
|
||||
```
|
||||
kubectl
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
```
|
||||
--alsologtostderr log to standard error as well as files
|
||||
--as string Username to impersonate for the operation
|
||||
--certificate-authority string Path to a cert. file for the certificate authority
|
||||
--client-certificate string Path to a client certificate file for TLS
|
||||
--client-key string Path to a client key file for TLS
|
||||
--cluster string The name of the kubeconfig cluster to use
|
||||
--context string The name of the kubeconfig context to use
|
||||
--insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
|
||||
--kubeconfig string Path to the kubeconfig file to use for CLI requests.
|
||||
--log-backtrace-at traceLocation when logging hits line file:N, emit a stack trace (default :0)
|
||||
--log-dir string If non-empty, write log files in this directory
|
||||
--logtostderr log to standard error instead of files
|
||||
--match-server-version Require server version to match client version
|
||||
-n, --namespace string If present, the namespace scope for this CLI request
|
||||
--password string Password for basic authentication to the API server
|
||||
--request-timeout string The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
|
||||
-s, --server string The address and port of the Kubernetes API server
|
||||
--stderrthreshold severity logs at or above this threshold go to stderr (default 2)
|
||||
--token string Bearer token for authentication to the API server
|
||||
--user string The name of the kubeconfig user to use
|
||||
--username string Username for basic authentication to the API server
|
||||
-v, --v Level log level for V logs
|
||||
--vmodule moduleSpec comma-separated list of pattern=N settings for file-filtered logging
|
||||
```
|
||||
|
||||
### SEE ALSO
|
||||
|
||||
* [kubectl annotate](kubectl_annotate.md) - Update the annotations on a resource
|
||||
* [kubectl api-versions](kubectl_api-versions.md) - Print the supported API versions on the server, in the form of "group/version"
|
||||
* [kubectl apply](kubectl_apply.md) - Apply a configuration to a resource by filename or stdin
|
||||
* [kubectl attach](kubectl_attach.md) - Attach to a running container
|
||||
* [kubectl autoscale](kubectl_autoscale.md) - Auto-scale a Deployment, ReplicaSet, or ReplicationController
|
||||
* [kubectl certificate](kubectl_certificate.md) - Modify certificate resources.
|
||||
* [kubectl cluster-info](kubectl_cluster-info.md) - Display cluster info
|
||||
* [kubectl completion](kubectl_completion.md) - Output shell completion code for the given shell (bash or zsh)
|
||||
* [kubectl config](kubectl_config.md) - Modify kubeconfig files
|
||||
* [kubectl convert](kubectl_convert.md) - Convert config files between different API versions
|
||||
* [kubectl cordon](kubectl_cordon.md) - Mark node as unschedulable
|
||||
* [kubectl cp](kubectl_cp.md) - Copy files and directories to and from containers.
|
||||
* [kubectl create](kubectl_create.md) - Create a resource by filename or stdin
|
||||
* [kubectl delete](kubectl_delete.md) - Delete resources by filenames, stdin, resources and names, or by resources and label selector
|
||||
* [kubectl describe](kubectl_describe.md) - Show details of a specific resource or group of resources
|
||||
* [kubectl drain](kubectl_drain.md) - Drain node in preparation for maintenance
|
||||
* [kubectl edit](kubectl_edit.md) - Edit a resource on the server
|
||||
* [kubectl exec](kubectl_exec.md) - Execute a command in a container
|
||||
* [kubectl explain](kubectl_explain.md) - Documentation of resources
|
||||
* [kubectl expose](kubectl_expose.md) - Take a replication controller, service, deployment or pod and expose it as a new Kubernetes Service
|
||||
* [kubectl get](kubectl_get.md) - Display one or many resources
|
||||
* [kubectl label](kubectl_label.md) - Update the labels on a resource
|
||||
* [kubectl logs](kubectl_logs.md) - Print the logs for a container in a pod
|
||||
* [kubectl options](kubectl_options.md) -
|
||||
* [kubectl patch](kubectl_patch.md) - Update field(s) of a resource using strategic merge patch
|
||||
* [kubectl port-forward](kubectl_port-forward.md) - Forward one or more local ports to a pod
|
||||
* [kubectl proxy](kubectl_proxy.md) - Run a proxy to the Kubernetes API server
|
||||
* [kubectl replace](kubectl_replace.md) - Replace a resource by filename or stdin
|
||||
* [kubectl rolling-update](kubectl_rolling-update.md) - Perform a rolling update of the given ReplicationController
|
||||
* [kubectl rollout](kubectl_rollout.md) - Manage a deployment rollout
|
||||
* [kubectl run](kubectl_run.md) - Run a particular image on the cluster
|
||||
* [kubectl scale](kubectl_scale.md) - Set a new size for a Deployment, ReplicaSet, Replication Controller, or Job
|
||||
* [kubectl set](kubectl_set.md) - Set specific features on objects
|
||||
* [kubectl taint](kubectl_taint.md) - Update the taints on one or more nodes
|
||||
* [kubectl top](kubectl_top.md) - Display Resource (CPU/Memory/Storage) usage
|
||||
* [kubectl uncordon](kubectl_uncordon.md) - Mark node as schedulable
|
||||
* [kubectl version](kubectl_version.md) - Print the client and server version information
|
||||
|
||||
###### Auto generated by spf13/cobra on 13-Dec-2016
|
||||
|
||||
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
|
||||
[]()
|
||||
<!-- END MUNGE: GENERATED_ANALYTICS -->
|
||||
+244
-244
@@ -1,252 +1,252 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo</title>
|
||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<link type="text/css" rel="stylesheet" href="css/style.css" />
|
||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
jQuery(function( $ ){
|
||||
/**
|
||||
* Demo binding and preparation, no need to read this part
|
||||
*/
|
||||
//borrowed from jQuery easing plugin
|
||||
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
||||
$.easing.elasout = function(x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||
};
|
||||
$('a.back').click(function() {
|
||||
$(this).parents('div.pane').scrollTo(0, 800, { queue:true });
|
||||
$(this).parents('div.section').find('span.message').text( this.title);
|
||||
return false;
|
||||
});
|
||||
//just for the example, to stop the click on the links.
|
||||
$('ul.links').click(function(e){
|
||||
var link = e.target;
|
||||
if (link.target === '_blank') {
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
link.blur();
|
||||
if (link.title) {
|
||||
$(this).parent().find('span.message').text(link.title);
|
||||
}
|
||||
});
|
||||
|
||||
// This one is important, many browsers don't reset scroll on refreshes
|
||||
// Reset all scrollable panes to (0,0)
|
||||
$('div.pane').scrollTo(0);
|
||||
// Reset the screen to (0,0)
|
||||
$.scrollTo(0);
|
||||
|
||||
// TOC, shows how to scroll the whole window
|
||||
$('#toc a').click(function() {//$.scrollTo works EXACTLY the same way, but scrolls the whole screen
|
||||
$.scrollTo(this.hash, 1500, { easing:'elasout' });
|
||||
$(this.hash).find('span.message').text(this.title);
|
||||
return false;
|
||||
});
|
||||
|
||||
// Target examples bindings
|
||||
var $target = $('#pane-target');
|
||||
$('#target-examples a').click(function() {
|
||||
$target.stop(true);
|
||||
});
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo</title>
|
||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<link type="text/css" rel="stylesheet" href="css/style.css" />
|
||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
jQuery(function( $ ){
|
||||
/**
|
||||
* Demo binding and preparation, no need to read this part
|
||||
*/
|
||||
//borrowed from jQuery easing plugin
|
||||
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
||||
$.easing.elasout = function(x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||
};
|
||||
$('a.back').click(function() {
|
||||
$(this).parents('div.pane').scrollTo(0, 800, { queue:true });
|
||||
$(this).parents('div.section').find('span.message').text( this.title);
|
||||
return false;
|
||||
});
|
||||
//just for the example, to stop the click on the links.
|
||||
$('ul.links').click(function(e){
|
||||
var link = e.target;
|
||||
if (link.target === '_blank') {
|
||||
return;
|
||||
}
|
||||
e.preventDefault();
|
||||
link.blur();
|
||||
if (link.title) {
|
||||
$(this).parent().find('span.message').text(link.title);
|
||||
}
|
||||
});
|
||||
|
||||
// This one is important, many browsers don't reset scroll on refreshes
|
||||
// Reset all scrollable panes to (0,0)
|
||||
$('div.pane').scrollTo(0);
|
||||
// Reset the screen to (0,0)
|
||||
$.scrollTo(0);
|
||||
|
||||
// TOC, shows how to scroll the whole window
|
||||
$('#toc a').click(function() {//$.scrollTo works EXACTLY the same way, but scrolls the whole screen
|
||||
$.scrollTo(this.hash, 1500, { easing:'elasout' });
|
||||
$(this.hash).find('span.message').text(this.title);
|
||||
return false;
|
||||
});
|
||||
|
||||
// Target examples bindings
|
||||
var $target = $('#pane-target');
|
||||
$('#target-examples a').click(function() {
|
||||
$target.stop(true);
|
||||
});
|
||||
|
||||
$('#relative-selector').click(function() {
|
||||
$target.scrollTo('li:eq(7)', 800);
|
||||
});
|
||||
$('#jquery-object').click(function() {
|
||||
$target.scrollTo($('#pane-target li:eq(14)') , 800);
|
||||
});
|
||||
$('#dom-element').click(function() {
|
||||
$target.scrollTo(document.getElementById('twenty'), 800);
|
||||
});
|
||||
$('#absolute-number').click(function() {
|
||||
$target.scrollTo(150, 800);
|
||||
});
|
||||
$('#absolute-number-hash').click(function() {
|
||||
$target.scrollTo({ top:800, left:700}, 800);
|
||||
});
|
||||
$('#absolute-px').click(function() {
|
||||
$target.scrollTo('520px', 800);
|
||||
});
|
||||
$('#absolute-px-hash').click(function() {
|
||||
$target.scrollTo({top:'110px', left:'290px'}, 800);
|
||||
});
|
||||
$('#relative-px').click(function() {
|
||||
$target.scrollTo('+=100', 500);
|
||||
});
|
||||
$('#relative-px-hash').click(function() {
|
||||
$target.scrollTo({top:'-=100px', left:'+=100'}, 500);
|
||||
});
|
||||
$('#percentage-px').click(function() {
|
||||
$target.scrollTo('50%', 800);
|
||||
});
|
||||
$('#percentage-px-hash').click(function() {
|
||||
$target.scrollTo({top:'50%', left:'20%'}, 800);
|
||||
});
|
||||
|
||||
// Settings examples bindings, they will all scroll to the same place, with different settings
|
||||
var $settings = $('#pane-settings');
|
||||
$('#settings-examples a').click(function() {
|
||||
// before each animation, reset to (0,0), skip this.
|
||||
$settings.stop(true).scrollTo(0);
|
||||
});
|
||||
|
||||
$('#settings-no').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000);
|
||||
});
|
||||
$('#settings-axis').click(function() {// only scroll horizontally
|
||||
$settings.scrollTo('li:eq(15)', 1000, { axis:'x' });
|
||||
});
|
||||
$('#settings-duration').click(function() {// it's the same as specifying it in the 2nd argument
|
||||
$settings.scrollTo('li:eq(15)', { duration: 3000 });
|
||||
});
|
||||
$('#settings-easing').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2500, { easing:'elasout' });
|
||||
});
|
||||
$('#settings-margin').click(function() {//scroll to the "outer" position of the element
|
||||
$settings.scrollTo('li:eq(15)', 1000, { margin:true });
|
||||
});
|
||||
$('#settings-offset').click(function() {//same as { top:-50, left:-50 }
|
||||
$settings.scrollTo('li:eq(15)', 1000, { offset:-50 });
|
||||
});
|
||||
$('#settings-offset-hash').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000, { offset:{ top:-5, left:-30 } });
|
||||
});
|
||||
$('#settings-offset-function').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});
|
||||
});
|
||||
$('#settings-over').click(function() {//same as { top:-50, left:-50 }
|
||||
$settings.scrollTo('li:eq(15)', 1000, { over:0.5 });
|
||||
});
|
||||
$('#settings-over-hash').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000, { over:{ top:0.2, left:-0.5 } });
|
||||
});
|
||||
$('#settings-interrupt').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 10000, { interrupt:true });
|
||||
});
|
||||
$('#settings-queue').click(function() {//in this case, having 'axis' as 'xy' or 'yx' matters.
|
||||
$settings.scrollTo('li:eq(15)', 2000, { queue:true });
|
||||
});
|
||||
$('#settings-onAfter').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2000, {
|
||||
onAfter:function() {
|
||||
$('#settings-message').text('Got there!');
|
||||
}
|
||||
});
|
||||
});
|
||||
$('#settings-onAfterFirst').click(function() {//onAfterFirst exists only when queuing
|
||||
$settings.scrollTo('li:eq(15)', 1600, {
|
||||
queue:true,
|
||||
onAfterFirst:function() {
|
||||
$('#settings-message').text('Got there horizontally!');
|
||||
},
|
||||
onAfter:function() {
|
||||
$('#settings-message').text('Got there vertically!');
|
||||
}
|
||||
});
|
||||
});
|
||||
$('#settings-step').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2000, {step:function(now) {
|
||||
$('#settings-message').text(now.toFixed(2));
|
||||
}});
|
||||
});
|
||||
$('#settings-progress').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2000, {progress:function(_, now) {
|
||||
$('#settings-message').text(Math.round(now*100) + '%');
|
||||
}});
|
||||
});
|
||||
$('#settings-fail').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 10000, {interrupt:true, fail:function() {
|
||||
$('#settings-message').text('Scroll interrupted!');
|
||||
}});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
$('#relative-selector').click(function() {
|
||||
$target.scrollTo('li:eq(7)', 800);
|
||||
});
|
||||
$('#jquery-object').click(function() {
|
||||
$target.scrollTo($('#pane-target li:eq(14)') , 800);
|
||||
});
|
||||
$('#dom-element').click(function() {
|
||||
$target.scrollTo(document.getElementById('twenty'), 800);
|
||||
});
|
||||
$('#absolute-number').click(function() {
|
||||
$target.scrollTo(150, 800);
|
||||
});
|
||||
$('#absolute-number-hash').click(function() {
|
||||
$target.scrollTo({ top:800, left:700}, 800);
|
||||
});
|
||||
$('#absolute-px').click(function() {
|
||||
$target.scrollTo('520px', 800);
|
||||
});
|
||||
$('#absolute-px-hash').click(function() {
|
||||
$target.scrollTo({top:'110px', left:'290px'}, 800);
|
||||
});
|
||||
$('#relative-px').click(function() {
|
||||
$target.scrollTo('+=100', 500);
|
||||
});
|
||||
$('#relative-px-hash').click(function() {
|
||||
$target.scrollTo({top:'-=100px', left:'+=100'}, 500);
|
||||
});
|
||||
$('#percentage-px').click(function() {
|
||||
$target.scrollTo('50%', 800);
|
||||
});
|
||||
$('#percentage-px-hash').click(function() {
|
||||
$target.scrollTo({top:'50%', left:'20%'}, 800);
|
||||
});
|
||||
|
||||
// Settings examples bindings, they will all scroll to the same place, with different settings
|
||||
var $settings = $('#pane-settings');
|
||||
$('#settings-examples a').click(function() {
|
||||
// before each animation, reset to (0,0), skip this.
|
||||
$settings.stop(true).scrollTo(0);
|
||||
});
|
||||
|
||||
$('#settings-no').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000);
|
||||
});
|
||||
$('#settings-axis').click(function() {// only scroll horizontally
|
||||
$settings.scrollTo('li:eq(15)', 1000, { axis:'x' });
|
||||
});
|
||||
$('#settings-duration').click(function() {// it's the same as specifying it in the 2nd argument
|
||||
$settings.scrollTo('li:eq(15)', { duration: 3000 });
|
||||
});
|
||||
$('#settings-easing').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2500, { easing:'elasout' });
|
||||
});
|
||||
$('#settings-margin').click(function() {//scroll to the "outer" position of the element
|
||||
$settings.scrollTo('li:eq(15)', 1000, { margin:true });
|
||||
});
|
||||
$('#settings-offset').click(function() {//same as { top:-50, left:-50 }
|
||||
$settings.scrollTo('li:eq(15)', 1000, { offset:-50 });
|
||||
});
|
||||
$('#settings-offset-hash').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000, { offset:{ top:-5, left:-30 } });
|
||||
});
|
||||
$('#settings-offset-function').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});
|
||||
});
|
||||
$('#settings-over').click(function() {//same as { top:-50, left:-50 }
|
||||
$settings.scrollTo('li:eq(15)', 1000, { over:0.5 });
|
||||
});
|
||||
$('#settings-over-hash').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 1000, { over:{ top:0.2, left:-0.5 } });
|
||||
});
|
||||
$('#settings-interrupt').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 10000, { interrupt:true });
|
||||
});
|
||||
$('#settings-queue').click(function() {//in this case, having 'axis' as 'xy' or 'yx' matters.
|
||||
$settings.scrollTo('li:eq(15)', 2000, { queue:true });
|
||||
});
|
||||
$('#settings-onAfter').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2000, {
|
||||
onAfter:function() {
|
||||
$('#settings-message').text('Got there!');
|
||||
}
|
||||
});
|
||||
});
|
||||
$('#settings-onAfterFirst').click(function() {//onAfterFirst exists only when queuing
|
||||
$settings.scrollTo('li:eq(15)', 1600, {
|
||||
queue:true,
|
||||
onAfterFirst:function() {
|
||||
$('#settings-message').text('Got there horizontally!');
|
||||
},
|
||||
onAfter:function() {
|
||||
$('#settings-message').text('Got there vertically!');
|
||||
}
|
||||
});
|
||||
});
|
||||
$('#settings-step').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2000, {step:function(now) {
|
||||
$('#settings-message').text(now.toFixed(2));
|
||||
}});
|
||||
});
|
||||
$('#settings-progress').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 2000, {progress:function(_, now) {
|
||||
$('#settings-message').text(Math.round(now*100) + '%');
|
||||
}});
|
||||
});
|
||||
$('#settings-fail').click(function() {
|
||||
$settings.scrollTo('li:eq(15)', 10000, {interrupt:true, fail:function() {
|
||||
$('#settings-message').text('Scroll interrupted!');
|
||||
}});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo <strong>by Ariel Flesler</strong></h1>
|
||||
|
||||
<div id="toc" class="part">
|
||||
<h3>Table of contents <strong>(try these)</strong></h3>
|
||||
<ul>
|
||||
<li><a title="$.scrollTo('#target-examples', 800, {easing:'elasout'});" href="#target-examples">Ways to specify the target</a></li>
|
||||
<li><a title="$.scrollTo('#settings-examples', 800, {easing:'elasout'});" href="#settings-examples">Settings</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="links" class="part">
|
||||
<h3>Links</h3>
|
||||
<ul>
|
||||
<li><a target="_blank" href="https://github.com/flesler/jquery.scrollTo">Github</a></li>
|
||||
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
||||
<li><a target="_blank" href="http://demos.flesler.com/jquery/localScroll/">LocalScroll Demo</a></li>
|
||||
<li><a target="_blank" href="http://demos.flesler.com/jquery/serialScroll/">SerialScroll Demo</a></li>
|
||||
<li><a target="_blank" href="index.old.html">Old Demo</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="target-examples" class="section part">
|
||||
<h3>Ways to specify the target <span id="target-message" class="message">Click an option, to see it in action</span></h3>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('li:eq(7)', 800);" id="relative-selector" href="#">Relative selector</a></li>
|
||||
<li><a title="$(...).scrollTo($('div li:eq(14)'), 800);" id="jquery-object" href="#">jQuery object</a></li>
|
||||
<li><a title="$(...).scrollTo(document.getElementById('twenty'), 800);" id="dom-element" href="#">DOM Element</a></li>
|
||||
<li><a title="$(...).scrollTo(150, 800);" id="absolute-number" href="#">Absolute number</a></li>
|
||||
<li><a title="$(...).scrollTo({ top:800, left:700}, 800);" id="absolute-number-hash" href="#">Absolute number(hash)</a></li>
|
||||
</ul>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('520px', 800);" id="absolute-px" href="#">Absolute px</a></li>
|
||||
<li><a title="$(...).scrollTo({top:'110px', left:'290px'}, 800);" id="absolute-px-hash" href="#">Absolute px(hash)</a></li>
|
||||
<li><a title="$(...).scrollTo('+=100px', 800);" id="relative-px" href="#">Relative px</a></li>
|
||||
<li><a title="$(...).scrollTo({top:'-=100px', left:'+=100'}, 800);" id="relative-px-hash" href="#">Relative px(hash)</a></li>
|
||||
<li><a title="$(...).scrollTo('50%', 800);" id="percentage-px" href="#">Percent</a></li>
|
||||
<li><a title="$(...).scrollTo({top:'50%', left:'20%'}, 800);" id="percentage-px-hash" href="#">Percent(hash)</a></li>
|
||||
</ul>
|
||||
<div id="pane-target" class="pane">
|
||||
<ul class="elements" style="height:1011px; width:1820px;">
|
||||
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li id="twenty"><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="settings-examples" class="section part">
|
||||
<h3>Settings <span id="settings-message" class="message">The examples shown here, are summarized for brevity</span></h3>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000);" id="settings-no" href="#">no settings</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {axis:'x'});//only scroll on this axis (can be x, y, xy or yx)" id="settings-axis" href="#">axis</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {margin:true});//deduct the margin and border from the final position" id="settings-margin" href="#">margin</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset:-50});//add or deduct from the final position" id="settings-offset" href="#">offset</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: {top:-5, left:-30} });" id="settings-offset-hash" href="#">offset(hash)</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});" id="settings-offset-function" href="#">offset(function)</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:0.5});//add or deduct a fraction of its height/width" id="settings-over" href="#">over</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:{top:0.2, left:-0.5});" id="settings-over-hash" href="#">over(hash)</a></li>
|
||||
<li><a title="Scroll manually to interrupt the animation" id="settings-interrupt" href="#">interrupt</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {onAfter:function() { } });//called after the scrolling ends" id="settings-onAfter" href="#">onAfter</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true, onAfterFirst:function() { } });//called after the first axis scrolled" id="settings-onAfterFirst" href="#">onAfterFirst</a></li>
|
||||
</ul>
|
||||
<h4>Settings inherited from <a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">$().animate()</a></h4>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', {duration:3000});//another way of calling the plugin" id="settings-duration" href="#">duration</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {easing:'elasout'});//specify an easing equation" id="settings-easing" href="#">easing</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true});//scroll one axis, then the other" id="settings-queue" href="#">queue</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {step:function() { }'});//specify a step function" id="settings-step" href="#">step</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {progress:function() { }'});//specify a progress function" id="settings-progress" href="#">progress</a></li>
|
||||
<li><a title="Scroll manually to interrupt and trigger the callback" id="settings-fail" href="#">fail</a></li>
|
||||
<li><a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">more</a></li>
|
||||
</ul>
|
||||
<div id="pane-settings" class="pane">
|
||||
<ul class="elements" style="height:1062px;width:1877px;">
|
||||
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<h1>jQuery.scrollTo <strong>by Ariel Flesler</strong></h1>
|
||||
|
||||
<div id="toc" class="part">
|
||||
<h3>Table of contents <strong>(try these)</strong></h3>
|
||||
<ul>
|
||||
<li><a title="$.scrollTo('#target-examples', 800, {easing:'elasout'});" href="#target-examples">Ways to specify the target</a></li>
|
||||
<li><a title="$.scrollTo('#settings-examples', 800, {easing:'elasout'});" href="#settings-examples">Settings</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="links" class="part">
|
||||
<h3>Links</h3>
|
||||
<ul>
|
||||
<li><a target="_blank" href="https://github.com/flesler/jquery.scrollTo">Github</a></li>
|
||||
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
||||
<li><a target="_blank" href="http://demos.flesler.com/jquery/localScroll/">LocalScroll Demo</a></li>
|
||||
<li><a target="_blank" href="http://demos.flesler.com/jquery/serialScroll/">SerialScroll Demo</a></li>
|
||||
<li><a target="_blank" href="index.old.html">Old Demo</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="target-examples" class="section part">
|
||||
<h3>Ways to specify the target <span id="target-message" class="message">Click an option, to see it in action</span></h3>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('li:eq(7)', 800);" id="relative-selector" href="#">Relative selector</a></li>
|
||||
<li><a title="$(...).scrollTo($('div li:eq(14)'), 800);" id="jquery-object" href="#">jQuery object</a></li>
|
||||
<li><a title="$(...).scrollTo(document.getElementById('twenty'), 800);" id="dom-element" href="#">DOM Element</a></li>
|
||||
<li><a title="$(...).scrollTo(150, 800);" id="absolute-number" href="#">Absolute number</a></li>
|
||||
<li><a title="$(...).scrollTo({ top:800, left:700}, 800);" id="absolute-number-hash" href="#">Absolute number(hash)</a></li>
|
||||
</ul>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('520px', 800);" id="absolute-px" href="#">Absolute px</a></li>
|
||||
<li><a title="$(...).scrollTo({top:'110px', left:'290px'}, 800);" id="absolute-px-hash" href="#">Absolute px(hash)</a></li>
|
||||
<li><a title="$(...).scrollTo('+=100px', 800);" id="relative-px" href="#">Relative px</a></li>
|
||||
<li><a title="$(...).scrollTo({top:'-=100px', left:'+=100'}, 800);" id="relative-px-hash" href="#">Relative px(hash)</a></li>
|
||||
<li><a title="$(...).scrollTo('50%', 800);" id="percentage-px" href="#">Percent</a></li>
|
||||
<li><a title="$(...).scrollTo({top:'50%', left:'20%'}, 800);" id="percentage-px-hash" href="#">Percent(hash)</a></li>
|
||||
</ul>
|
||||
<div id="pane-target" class="pane">
|
||||
<ul class="elements" style="height:1011px; width:1820px;">
|
||||
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li id="twenty"><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="settings-examples" class="section part">
|
||||
<h3>Settings <span id="settings-message" class="message">The examples shown here, are summarized for brevity</span></h3>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000);" id="settings-no" href="#">no settings</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {axis:'x'});//only scroll on this axis (can be x, y, xy or yx)" id="settings-axis" href="#">axis</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {margin:true});//deduct the margin and border from the final position" id="settings-margin" href="#">margin</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset:-50});//add or deduct from the final position" id="settings-offset" href="#">offset</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: {top:-5, left:-30} });" id="settings-offset-hash" href="#">offset(hash)</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {offset: function() { return {top:-30, left:-5}; }});" id="settings-offset-function" href="#">offset(function)</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:0.5});//add or deduct a fraction of its height/width" id="settings-over" href="#">over</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1000, {over:{top:0.2, left:-0.5});" id="settings-over-hash" href="#">over(hash)</a></li>
|
||||
<li><a title="Scroll manually to interrupt the animation" id="settings-interrupt" href="#">interrupt</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {onAfter:function() { } });//called after the scrolling ends" id="settings-onAfter" href="#">onAfter</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true, onAfterFirst:function() { } });//called after the first axis scrolled" id="settings-onAfterFirst" href="#">onAfterFirst</a></li>
|
||||
</ul>
|
||||
<h4>Settings inherited from <a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">$().animate()</a></h4>
|
||||
<ul class="links">
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', {duration:3000});//another way of calling the plugin" id="settings-duration" href="#">duration</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {easing:'elasout'});//specify an easing equation" id="settings-easing" href="#">easing</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 1600, {queue:true});//scroll one axis, then the other" id="settings-queue" href="#">queue</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {step:function() { }'});//specify a step function" id="settings-step" href="#">step</a></li>
|
||||
<li><a title="$(...).scrollTo('li:eq(15)', 2500, {progress:function() { }'});//specify a progress function" id="settings-progress" href="#">progress</a></li>
|
||||
<li><a title="Scroll manually to interrupt and trigger the callback" id="settings-fail" href="#">fail</a></li>
|
||||
<li><a href="http://api.jquery.com/animate/#animate-properties-options" target="_blank">more</a></li>
|
||||
</ul>
|
||||
<div id="pane-settings" class="pane">
|
||||
<ul class="elements" style="height:1062px;width:1877px;">
|
||||
<li><p>0</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>1</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>2</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>3</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>4</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>5</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>6</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>7</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>8</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>9</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>10</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>11</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>12</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>13</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>14</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>15</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>16</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>17</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>18</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>19</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>20</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>21</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>22</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>23</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>24</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>25</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>26</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>27</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>28</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li><li><p>29</p><a href="#" title="$(...).scrollTo(0, 800, {queue:true});" class="back">go back</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+121
-121
@@ -1,128 +1,128 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.ScrollTo</title>
|
||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<link type="text/css" rel="stylesheet" href="css/style.old.css" />
|
||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript">
|
||||
jQuery(function( $ ){
|
||||
//borrowed from jQuery easing plugin
|
||||
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
||||
$.easing.elasout = function(x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||
};
|
||||
$('button').click(function(){//this is not the cleanest way to do this, I'm just keeping it short.
|
||||
var index = parseInt( $(this).prev('input').val() ) || 0;
|
||||
var $c = $(this).parent().next();
|
||||
$c.stop().scrollTo('li:eq('+index+')', {duration:2500, easing:'elasout',axis:$c.attr('id')});
|
||||
});
|
||||
$('#btn_screen').click(function(){
|
||||
$.scrollTo( $('#txt_screen').val(), {duration:2500} );
|
||||
});
|
||||
$('div.container a').click(function(){
|
||||
var $c = $(this).parents('.container');
|
||||
$c.stop().scrollTo( 0, {duration:2000,axis:$c.attr('id'), queue:true} );
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.ScrollTo</title>
|
||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||
<meta name="description" content="Demo of jQuery.scrollTo. Lightweight, cross-browser and highly customizable animated scrolling with jQuery, made by Ariel Flesler." />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<link type="text/css" rel="stylesheet" href="css/style.old.css" />
|
||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript">
|
||||
jQuery(function( $ ){
|
||||
//borrowed from jQuery easing plugin
|
||||
//http://gsgd.co.uk/sandbox/jquery.easing.php
|
||||
$.easing.elasout = function(x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||
};
|
||||
$('button').click(function(){//this is not the cleanest way to do this, I'm just keeping it short.
|
||||
var index = parseInt( $(this).prev('input').val() ) || 0;
|
||||
var $c = $(this).parent().next();
|
||||
$c.stop().scrollTo('li:eq('+index+')', {duration:2500, easing:'elasout',axis:$c.attr('id')});
|
||||
});
|
||||
$('#btn_screen').click(function(){
|
||||
$.scrollTo( $('#txt_screen').val(), {duration:2500} );
|
||||
});
|
||||
$('div.container a').click(function(){
|
||||
var $c = $(this).parents('.container');
|
||||
$c.stop().scrollTo( 0, {duration:2000,axis:$c.attr('id'), queue:true} );
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.ScrollTo <strong>by Ariel Flesler</strong></h1>
|
||||
<div id="links" class="part" style="width:135px">
|
||||
<h3>Links</h3>
|
||||
<ul>
|
||||
<li><a target="_blank" href="http://plugins.jquery.com/project/ScrollTo">Project Page</a></li>
|
||||
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
||||
<li><a target="_blank" href="http://flesler.blogspot.com/search/label/jQuery.ScrollTo">All articles</a></li>
|
||||
<li><a target="_blank" href="http://flesler.webs.com/jQuery.LocalScroll/">LocalScroll Demo</a></li>
|
||||
<li><a target="_blank" href="http://flesler.webs.com/jQuery.SerialScroll/">SerialScroll Demo</a></li>
|
||||
<li><a target="_blank" href="./" rel="prev" rev="next">New Demo</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<label for="txt_screen">Scroll the window to <input id="txt_screen" type="text" value=".pane:eq(1)" /><input id="btn_screen" type="button" value="Scroll" /></label><br /><br />
|
||||
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
||||
<div id="y" class="container">
|
||||
<ul>
|
||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to top</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
||||
<div id="x" class="container">
|
||||
<ul style="width:4820px;">
|
||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<label>Scroll to the #<input type="text" value="16" /> element inside this container<button>Scroll</button></label>
|
||||
<div id="xy" class="container">
|
||||
<ul style="width:1500px;">
|
||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>16</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>17</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>18</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>19</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>20</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>21</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>22</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>23</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>24</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>25</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>26</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>27</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>28</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>29</p><a href="#">back to start</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="pane" style="background-color:#000000;margin-top:40px;"></div>
|
||||
<div class="pane" style="background-color:#333333;"></div>
|
||||
<div class="pane" style="background-color:#666666;"></div>
|
||||
<div class="pane" style="background-color:#999999;"></div>
|
||||
<div class="pane" style="background-color:#CCCCCC;"></div>
|
||||
<h1>jQuery.ScrollTo <strong>by Ariel Flesler</strong></h1>
|
||||
<div id="links" class="part" style="width:135px">
|
||||
<h3>Links</h3>
|
||||
<ul>
|
||||
<li><a target="_blank" href="http://plugins.jquery.com/project/ScrollTo">Project Page</a></li>
|
||||
<li><a target="_blank" href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">Main blog article</a></li>
|
||||
<li><a target="_blank" href="http://flesler.blogspot.com/search/label/jQuery.ScrollTo">All articles</a></li>
|
||||
<li><a target="_blank" href="http://flesler.webs.com/jQuery.LocalScroll/">LocalScroll Demo</a></li>
|
||||
<li><a target="_blank" href="http://flesler.webs.com/jQuery.SerialScroll/">SerialScroll Demo</a></li>
|
||||
<li><a target="_blank" href="./" rel="prev" rev="next">New Demo</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<label for="txt_screen">Scroll the window to <input id="txt_screen" type="text" value=".pane:eq(1)" /><input id="btn_screen" type="button" value="Scroll" /></label><br /><br />
|
||||
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
||||
<div id="y" class="container">
|
||||
<ul>
|
||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to top</a></li>
|
||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to top</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<label>Scroll to the #<input type="text" value="3" /> element inside this container<button>Scroll</button></label>
|
||||
<div id="x" class="container">
|
||||
<ul style="width:4820px;">
|
||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<label>Scroll to the #<input type="text" value="16" /> element inside this container<button>Scroll</button></label>
|
||||
<div id="xy" class="container">
|
||||
<ul style="width:1500px;">
|
||||
<li style="background-color:#9933CC;"><p>0</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>1</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>2</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>3</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>4</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>5</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>6</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>7</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>8</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>9</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>10</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>11</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>12</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>13</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>14</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>15</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>16</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>17</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>18</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>19</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>20</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>21</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFFFCC;"><p>22</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FF00;"><p>23</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#9933CC;"><p>24</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FFCC99;"><p>25</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#FF0000;"><p>26</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#00FFCC;"><p>27</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#663366;"><p>28</p><a href="#">back to start</a></li>
|
||||
<li style="background-color:#CCCCFF;"><p>29</p><a href="#">back to start</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="pane" style="background-color:#000000;margin-top:40px;"></div>
|
||||
<div class="pane" style="background-color:#333333;"></div>
|
||||
<div class="pane" style="background-color:#666666;"></div>
|
||||
<div class="pane" style="background-color:#999999;"></div>
|
||||
<div class="pane" style="background-color:#CCCCCC;"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+15
-15
@@ -1,21 +1,21 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Element MaxY - Compat Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Element MaxY - Compat Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Element MaxY - Compat Mode</h1>
|
||||
|
||||
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$('#viewport').test();
|
||||
</script>
|
||||
<h1>jQuery.scrollTo - Test Element MaxY - Compat Mode</h1>
|
||||
|
||||
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$('#viewport').test();
|
||||
</script>
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+15
-15
@@ -1,20 +1,20 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Element MaxY - Quirks Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Element MaxY - Quirks Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Element MaxY - Quirks Mode</h1>
|
||||
|
||||
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$('#viewport').test();
|
||||
</script>
|
||||
<h1>jQuery.scrollTo - Test Element MaxY - Quirks Mode</h1>
|
||||
|
||||
<div id="viewport" style="width:600px;height:500px;overflow: auto">
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 40px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$('#viewport').test();
|
||||
</script>
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+13
-13
@@ -1,19 +1,19 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY - Compat Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY - Compat Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY - Compat Mode</h1>
|
||||
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(window).test();
|
||||
</script>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY - Compat Mode</h1>
|
||||
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(window).test();
|
||||
</script>
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+12
-12
@@ -1,18 +1,18 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY - Quirks Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY - Quirks Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY - Quirks Mode</h1>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY - Quirks Mode</h1>
|
||||
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(window).test();
|
||||
</script>
|
||||
<div id="ua" style="height:1500px; width:500px; padding:0 50px; background-color:#AAA">
|
||||
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(window).test();
|
||||
</script>
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+13
-13
@@ -1,20 +1,20 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</h1>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Compat Mode</h1>
|
||||
|
||||
<iframe src="WinMaxY-compat.html?notest" style="width:500px" /></iframe>
|
||||
|
||||
<script type="text/javascript">
|
||||
setTimeout(function(){
|
||||
$('iframe').test();
|
||||
}, 1500 );
|
||||
</script>
|
||||
<iframe src="WinMaxY-compat.html?notest" style="width:500px" /></iframe>
|
||||
|
||||
<script type="text/javascript">
|
||||
setTimeout(function(){
|
||||
$('iframe').test();
|
||||
}, 1500 );
|
||||
</script>
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+14
-14
@@ -1,19 +1,19 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</title>
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.0.js"></script>
|
||||
<script type="text/javascript" src="../jquery.scrollTo.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</h1>
|
||||
|
||||
<iframe src="WinMaxY-quirks.html?notest" style="width:500px"></iframe>
|
||||
|
||||
<script type="text/javascript">
|
||||
setTimeout(function(){
|
||||
$('iframe').test();
|
||||
}, 1500 );
|
||||
</script>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY to Iframe - Quirks Mode</h1>
|
||||
|
||||
<iframe src="WinMaxY-quirks.html?notest" style="width:500px"></iframe>
|
||||
|
||||
<script type="text/javascript">
|
||||
setTimeout(function(){
|
||||
$('iframe').test();
|
||||
}, 1500 );
|
||||
</script>
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+5
-5
@@ -1,11 +1,11 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</h1>
|
||||
|
||||
<iframe src="WinMaxY-compat.html" />
|
||||
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Compat Mode</h1>
|
||||
|
||||
<iframe src="WinMaxY-compat.html" />
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+4
-4
@@ -1,10 +1,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</h1>
|
||||
<h1>jQuery.scrollTo - Test Window MaxY with Iframe - Quirks Mode</h1>
|
||||
|
||||
<iframe src="WinMaxY-quirks.html" />
|
||||
<iframe src="WinMaxY-quirks.html" />
|
||||
</html>
|
||||
|
||||
+17
-17
@@ -1,24 +1,24 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo Tests</title>
|
||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||
<meta name="description" content="Tests for jQuery ScrollTo. Made by Ariel Flesler." />
|
||||
<meta name="robots" content="index,follow" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>jQuery.scrollTo Tests</title>
|
||||
<meta name="keywords" content="javascript, jquery, plugins, scroll, scrollTo, smooth, animation, to, effect, ariel, flesler, window, overflow, element, navigation, customizable" />
|
||||
<meta name="description" content="Tests for jQuery ScrollTo. Made by Ariel Flesler." />
|
||||
<meta name="robots" content="index,follow" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>jQuery.scrollTo Tests</h1>
|
||||
|
||||
<ul>
|
||||
<li><a href="WinMaxY-compat.html">Max window scrolling (compat mode)</a></li>
|
||||
<li><a href="WinMaxY-quirks.html">Max window scrolling (quirks mode)</a></li>
|
||||
<li><a href="ElemMaxY-compat.html">Max element scrolling (compat mode)</a></li>
|
||||
<li><a href="ElemMaxY-quirks.html">Max element scrolling (quirks mode)</a></li>
|
||||
<li><a href="WinMaxY-with-iframe-compat.html">Max window scrolling, within an iframe (compat mode)</a></li>
|
||||
<li><a href="WinMaxY-with-iframe-quirks.html">Max window scrolling, within an iframe (quirks mode)</a></li>
|
||||
<li><a href="WinMaxY-to-iframe-compat.html">Max iframe scrolling from outside (compat mode)</a></li>
|
||||
<li><a href="WinMaxY-to-iframe-quirks.html">Max iframe scrolling from outside (quirks mode)</a></li>
|
||||
</ul>
|
||||
<h1>jQuery.scrollTo Tests</h1>
|
||||
|
||||
<ul>
|
||||
<li><a href="WinMaxY-compat.html">Max window scrolling (compat mode)</a></li>
|
||||
<li><a href="WinMaxY-quirks.html">Max window scrolling (quirks mode)</a></li>
|
||||
<li><a href="ElemMaxY-compat.html">Max element scrolling (compat mode)</a></li>
|
||||
<li><a href="ElemMaxY-quirks.html">Max element scrolling (quirks mode)</a></li>
|
||||
<li><a href="WinMaxY-with-iframe-compat.html">Max window scrolling, within an iframe (compat mode)</a></li>
|
||||
<li><a href="WinMaxY-with-iframe-quirks.html">Max window scrolling, within an iframe (quirks mode)</a></li>
|
||||
<li><a href="WinMaxY-to-iframe-compat.html">Max iframe scrolling from outside (compat mode)</a></li>
|
||||
<li><a href="WinMaxY-to-iframe-quirks.html">Max iframe scrolling from outside (quirks mode)</a></li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+5
-5
@@ -55,11 +55,11 @@ For jQuery to work in Node, a window with a document is required. Since no such
|
||||
|
||||
```js
|
||||
require("jsdom").env("", function(err, window) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return;
|
||||
}
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return;
|
||||
}
|
||||
|
||||
var $ = require("jquery")(window);
|
||||
var $ = require("jquery")(window);
|
||||
});
|
||||
```
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Awesome page</title>
|
||||
<title>Awesome page</title>
|
||||
</head>
|
||||
<body>
|
||||
hello world!
|
||||
hello world!
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Generated
Vendored
+2
-2
@@ -1,8 +1,8 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Other page</title>
|
||||
<title>Other page</title>
|
||||
</head>
|
||||
<body>
|
||||
hello there!
|
||||
hello there!
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -246,11 +246,11 @@ web-0 # apt-get update && apt-get install -y dnsutils
|
||||
...
|
||||
|
||||
web-0 # nslookup -type=srv nginx.default
|
||||
Server: 10.0.0.10
|
||||
Address: 10.0.0.10#53
|
||||
Server: 10.0.0.10
|
||||
Address: 10.0.0.10#53
|
||||
|
||||
nginx.default.svc.cluster.local service = 10 50 0 web-1.ub.default.svc.cluster.local.
|
||||
nginx.default.svc.cluster.local service = 10 50 0 web-0.ub.default.svc.cluster.local.
|
||||
nginx.default.svc.cluster.local service = 10 50 0 web-1.ub.default.svc.cluster.local.
|
||||
nginx.default.svc.cluster.local service = 10 50 0 web-0.ub.default.svc.cluster.local.
|
||||
```
|
||||
|
||||
## Updating a PetSet
|
||||
|
||||
@@ -55,20 +55,20 @@ create the defined ReplicaSet and the pods that it manages.
|
||||
$ kubectl create -f frontend.yaml
|
||||
replicaset "frontend" created
|
||||
$ kubectl describe rs/frontend
|
||||
Name: frontend
|
||||
Namespace: default
|
||||
Image(s): gcr.io/google_samples/gb-frontend:v3
|
||||
Selector: tier=frontend,tier in (frontend)
|
||||
Labels: app=guestbook,tier=frontend
|
||||
Replicas: 3 current / 3 desired
|
||||
Pods Status: 3 Running / 0 Waiting / 0 Succeeded / 0 Failed
|
||||
Name: frontend
|
||||
Namespace: default
|
||||
Image(s): gcr.io/google_samples/gb-frontend:v3
|
||||
Selector: tier=frontend,tier in (frontend)
|
||||
Labels: app=guestbook,tier=frontend
|
||||
Replicas: 3 current / 3 desired
|
||||
Pods Status: 3 Running / 0 Waiting / 0 Succeeded / 0 Failed
|
||||
No volumes.
|
||||
Events:
|
||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||
1m 1m 1 {replicaset-controller } Normal SuccessfulCreate Created pod: frontend-qhloh
|
||||
1m 1m 1 {replicaset-controller } Normal SuccessfulCreate Created pod: frontend-dnjpy
|
||||
1m 1m 1 {replicaset-controller } Normal SuccessfulCreate Created pod: frontend-9si5l
|
||||
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||
1m 1m 1 {replicaset-controller } Normal SuccessfulCreate Created pod: frontend-qhloh
|
||||
1m 1m 1 {replicaset-controller } Normal SuccessfulCreate Created pod: frontend-dnjpy
|
||||
1m 1m 1 {replicaset-controller } Normal SuccessfulCreate Created pod: frontend-9si5l
|
||||
$ kubectl get pods
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
frontend-9si5l 1/1 Running 0 1m
|
||||
|
||||
@@ -46,29 +46,25 @@ Check on the status of the ReplicationController using this command:
|
||||
|
||||
```shell
|
||||
$ kubectl describe replicationcontrollers/nginx
|
||||
Name: nginx
|
||||
Namespace: default
|
||||
Image(s): nginx
|
||||
Selector: app=nginx
|
||||
Labels: app=nginx
|
||||
Replicas: 3 current / 3 desired
|
||||
Pods Status: 0 Running / 3 Waiting / 0 Succeeded / 0 Failed
|
||||
Name: nginx
|
||||
Namespace: default
|
||||
Image(s): nginx
|
||||
Selector: app=nginx
|
||||
Labels: app=nginx
|
||||
Replicas: 3 current / 3 desired
|
||||
Pods Status: 0 Running / 3 Waiting / 0 Succeeded / 0 Failed
|
||||
Events:
|
||||
FirstSeen LastSeen Count From
|
||||
SubobjectPath Reason Message
|
||||
Thu, 24 Sep 2015 10:38:20 -0700 Thu, 24 Sep 2015 10:38:20 -0700 1
|
||||
{replication-controller } SuccessfulCreate Created pod: nginx-qrm3m
|
||||
Thu, 24 Sep 2015 10:38:20 -0700 Thu, 24 Sep 2015 10:38:20 -0700 1
|
||||
{replication-controller } SuccessfulCreate Created pod: nginx-3ntk0
|
||||
Thu, 24 Sep 2015 10:38:20 -0700 Thu, 24 Sep 2015 10:38:20 -0700 1
|
||||
{replication-controller } SuccessfulCreate Created pod: nginx-4ok8v
|
||||
FirstSeen LastSeen Count From SubobjectPath Reason Message
|
||||
Thu, 24 Sep 2015 10:38:20 -0700 Thu, 24 Sep 2015 10:38:20 -0700 1 {replication-controller } SuccessfulCreate Created pod: nginx-qrm3m
|
||||
Thu, 24 Sep 2015 10:38:20 -0700 Thu, 24 Sep 2015 10:38:20 -0700 1 {replication-controller } SuccessfulCreate Created pod: nginx-3ntk0
|
||||
Thu, 24 Sep 2015 10:38:20 -0700 Thu, 24 Sep 2015 10:38:20 -0700 1 {replication-controller } SuccessfulCreate Created pod: nginx-4ok8v
|
||||
```
|
||||
|
||||
Here, 3 pods have been made, but none are running yet, perhaps because the image is being pulled.
|
||||
A little later, the same command may show:
|
||||
|
||||
```shell
|
||||
Pods Status: 3 Running / 0 Waiting / 0 Succeeded / 0 Failed
|
||||
Pods Status: 3 Running / 0 Waiting / 0 Succeeded / 0 Failed
|
||||
```
|
||||
|
||||
To list all the pods that belong to the rc in a machine readable form, you can use a command like this:
|
||||
|
||||
@@ -71,17 +71,17 @@ NAME TYPE DATA AGE
|
||||
db-user-pass Opaque 2 51s
|
||||
|
||||
$ kubectl describe secrets/db-user-pass
|
||||
Name: db-user-pass
|
||||
Namespace: default
|
||||
Labels: <none>
|
||||
Annotations: <none>
|
||||
Name: db-user-pass
|
||||
Namespace: default
|
||||
Labels: <none>
|
||||
Annotations: <none>
|
||||
|
||||
Type: Opaque
|
||||
Type: Opaque
|
||||
|
||||
Data
|
||||
====
|
||||
password.txt: 13 bytes
|
||||
username.txt: 6 bytes
|
||||
password.txt: 13 bytes
|
||||
username.txt: 6 bytes
|
||||
```
|
||||
|
||||
Note that neither `get` nor `describe` shows the contents of the file by default.
|
||||
|
||||
Reference in New Issue
Block a user