Skip to content

Commit baa0e68

Browse files
committed
Add link to nonexistent element to demo and tests for avoiding scroll (and for scroll).
1 parent b37f577 commit baa0e68

File tree

3 files changed

+40
-6
lines changed

3 files changed

+40
-6
lines changed

demo/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@
8383
<li><a href="#p3">p3</a></li>
8484
<li><a href="#p4">p4</a></li>
8585
<li><a href="#p5">p5</a></li>
86+
<li><a href="#foo">link to nowhere</a></li>
8687
<li><a href="bbq.html#p5">bbq.html#p5</a></li>
8788
</ul>
8889
<p><a href="bbq.html">Try it with jQuery BBQ hashchange support</a></p>

test/index.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
width: 200px;
1111
}
1212
#scrollable {
13+
border: 1px solid red;
1314
height: 200px;
1415
overflow: auto;
1516
}
@@ -18,12 +19,11 @@
1819
<body>
1920
<div id="qunit"></div>
2021
<div id="qunit-fixture">
21-
<a href="http://smooth.dev/#portfolio-section"></a>
22+
<a id="gotoone" href="#one">go to one</a>
23+
<button id="scrollit">scroll the scrollable</button>
2224
<div id="scrollable">
23-
<p>Bacon ipsum dolor amet andouille tri-tip salami frankfurter fatback venison. Cupim sausage rump boudin pork loin, salami kielbasa chuck jowl venison kevin prosciutto flank ribeye. Alcatra chuck sausage meatball beef ribs brisket biltong rump andouille tenderloin leberkas. Bacon andouille pork loin chuck shankle, ground round hamburger ham hock ball tip meatball sirloin drumstick flank kielbasa prosciutto.</p>
24-
<p>Hamburger pig sausage, pancetta rump turducken shankle landjaeger pork belly bresaola jerky brisket leberkas porchetta swine. Pork shankle salami, sausage ham cupim andouille. Sirloin sausage jerky, leberkas chuck short ribs pancetta t-bone kielbasa strip steak prosciutto salami beef ribs frankfurter. Brisket doner andouille t-bone prosciutto short loin. Kielbasa tenderloin doner beef ribs shankle.</p>
25-
<p>Kielbasa cupim boudin shank frankfurter. Short loin shank shankle sausage, salami pork loin leberkas biltong venison. Bresaola chuck chicken drumstick. Fatback cupim short ribs jerky brisket pancetta flank cow beef ribs salami capicola picanha rump short loin meatloaf. Corned beef meatloaf pork belly picanha alcatra pork chop.</p>
26-
<p>Sirloin frankfurter tongue pork, filet mignon drumstick shankle beef ribs tri-tip turducken hamburger salami andouille meatloaf. Andouille landjaeger flank boudin beef short ribs brisket alcatra kielbasa ham pork loin pancetta. Pancetta tenderloin shoulder, porchetta tri-tip pastrami ham pork loin tail swine andouille. Sausage landjaeger strip steak tail corned beef biltong meatball picanha beef ribs swine kielbasa. T-bone tail rump kevin doner chuck. Prosciutto andouille pork loin shankle t-bone, turducken sirloin landjaeger pancetta picanha spare ribs filet mignon. Shank ham beef chuck salami tail t-bone shoulder beef ribs kevin.</p>
25+
<div style="height:100px;width:1px;">big block</div>
26+
<p id="findme">Sirloin frankfurter tongue pork, filet mignon drumstick shankle beef ribs tri-tip turducken hamburger salami andouille meatloaf. Andouille landjaeger flank boudin beef short ribs brisket alcatra kielbasa ham pork loin pancetta. Pancetta tenderloin shoulder, porchetta tri-tip pastrami ham pork loin tail swine andouille. Sausage landjaeger strip steak tail corned beef biltong meatball picanha beef ribs swine kielbasa. T-bone tail rump kevin doner chuck. Prosciutto andouille pork loin shankle t-bone, turducken sirloin landjaeger pancetta picanha spare ribs filet mignon. Shank ham beef chuck salami tail t-bone shoulder beef ribs kevin.</p>
2727

2828
</div>
2929
<p>Bacon ipsum dolor amet andouille tri-tip salami frankfurter fatback venison. Cupim sausage rump boudin pork loin, salami kielbasa chuck jowl venison kevin prosciutto flank ribeye. Alcatra chuck sausage meatball beef ribs brisket biltong rump andouille tenderloin leberkas. Bacon andouille pork loin chuck shankle, ground round hamburger ham hock ball tip meatball sirloin drumstick flank kielbasa prosciutto.</p>
@@ -38,7 +38,7 @@
3838
<p>Salami tongue picanha, cupim cow ground round bacon turducken fatback meatloaf landjaeger leberkas kevin. Ground round kielbasa swine pork loin kevin ball tip. Shankle beef ribs venison biltong turkey, strip steak short ribs fatback kielbasa tenderloin pastrami ham hock ham. Salami bacon tail tongue pancetta cupim pastrami pork chop prosciutto brisket beef ribs. Swine salami ball tip tongue, turducken sausage pork belly frankfurter picanha capicola andouille meatloaf biltong short ribs hamburger. Shankle meatloaf tenderloin meatball, boudin ground round andouille cupim short loin filet mignon capicola. Boudin bresaola spare ribs meatloaf, alcatra bacon pork loin frankfurter prosciutto meatball pork belly salami.</p>
3939
<p>Corned beef doner flank kevin. Alcatra ham hock kielbasa, pork loin turkey landjaeger bresaola shankle t-bone rump flank tenderloin beef. Meatball shank turducken leberkas t-bone. Ground round beef swine rump porchetta pork chop tri-tip pork loin kielbasa pastrami frankfurter pork andouille.</p>
4040
<p>Turkey chicken tongue boudin cupim flank porchetta pastrami. Cow ham alcatra, porchetta turkey doner t-bone ribeye brisket spare ribs short ribs kielbasa. Ribeye ground round tenderloin beef ribs. Pancetta capicola porchetta ball tip doner drumstick boudin t-bone shankle. Pancetta flank leberkas, chicken tri-tip porchetta drumstick tail ribeye venison. Landjaeger alcatra turkey, picanha porchetta beef frankfurter meatball bacon pig short loin.</p>
41-
<p>Filet mignon beef corned beef biltong doner, kielbasa prosciutto venison tenderloin. Shoulder bresaola t-bone pig tenderloin, meatball spare ribs leberkas tongue drumstick picanha rump ground round. Tongue short ribs pig salami rump, boudin andouille hamburger pancetta meatball. Filet mignon capicola pancetta cupim, shank jerky ham hock pork spare ribs strip steak short ribs rump alcatra. Shoulder short ribs picanha, chicken beef ham pork chop leberkas pastrami bresaola meatball salami. Salami pork chop ham hock pork meatloaf kielbasa turkey ribeye chicken tenderloin hamburger boudin frankfurter. Tri-tip hamburger short ribs short loin ham ball tip shoulder landjaeger tongue pig.</p>
41+
<p id="one">Filet mignon beef corned beef biltong doner, kielbasa prosciutto venison tenderloin. Shoulder bresaola t-bone pig tenderloin, meatball spare ribs leberkas tongue drumstick picanha rump ground round. Tongue short ribs pig salami rump, boudin andouille hamburger pancetta meatball. Filet mignon capicola pancetta cupim, shank jerky ham hock pork spare ribs strip steak short ribs rump alcatra. Shoulder short ribs picanha, chicken beef ham pork chop leberkas pastrami bresaola meatball salami. Salami pork chop ham hock pork meatloaf kielbasa turkey ribeye chicken tenderloin hamburger boudin frankfurter. Tri-tip hamburger short ribs short loin ham ball tip shoulder landjaeger tongue pig.</p>
4242
<p>Flank pastrami sausage jerky cupim. Corned beef shankle boudin pancetta salami short ribs. Frankfurter beef ribs ribeye corned beef pastrami landjaeger flank meatloaf pork chop. Prosciutto pig frankfurter leberkas ham hock. Cupim flank tenderloin shank porchetta tail.</p>
4343
<p>Bresaola beef ribs beef, tongue picanha sirloin short loin biltong. Short ribs leberkas jerky beef ribs tongue bacon pork chop. Meatloaf shankle short loin, jerky cupim chuck ground round biltong ham cow tenderloin. Sausage pancetta ribeye, venison doner landjaeger kielbasa bresaola. Leberkas tail andouille jowl spare ribs pork frankfurter pork belly salami sausage t-bone rump tongue. Flank chuck pork chop short ribs ball tip ham hock jerky shankle beef kielbasa prosciutto salami.</p>
4444

test/tests.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,36 @@ QUnit.test('Returns scrollable element (div#scrollable)', function(assert) {
2222
assert.equal(scrollable.length, 1, 'One scrollable element is returned');
2323
assert.equal(scrollable[0].id, 'scrollable', 'Scrollable element is <div id="scrollable">');
2424
});
25+
26+
QUnit.module('$.smoothScroll');
27+
QUnit.test('Scrolls the #scrollable element, or not.', function(assert) {
28+
var done = assert.async(2);
29+
30+
$.smoothScroll({
31+
scrollElement: $('#scrollable'),
32+
scrollTarget: '#does-not-exist',
33+
speed: 200,
34+
afterScroll: function() {
35+
var scrollTop = $('#scrollable').scrollTop();
36+
assert.equal(scrollTop, 0, '#scrollable element does not scroll to non-existant element');
37+
38+
// Trigger the next scroll, which should actually work
39+
$('#scrollit').trigger('click');
40+
done();
41+
}
42+
});
43+
44+
$('#scrollit').bind('click', function(event) {
45+
event.preventDefault();
46+
$.smoothScroll({
47+
scrollElement: $('#scrollable'),
48+
scrollTarget: '#findme',
49+
speed: 200,
50+
afterScroll: function() {
51+
var scrollTop = $('#scrollable').scrollTop();
52+
assert.equal(scrollTop, 100, '#scrollable element scrolls');
53+
done();
54+
}
55+
});
56+
});
57+
});

0 commit comments

Comments
 (0)