Skip to content

Commit 2df241c

Browse files
committed
tweaks for demo
1 parent a2094ab commit 2df241c

File tree

3 files changed

+58
-13
lines changed

3 files changed

+58
-13
lines changed

demo/index.html

+9-8
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
* {
1616
box-sizing: border-box;
17+
-webkit-tap-highlight-color: rgba(0,0,0,0);
1718
}
1819

1920
body {
@@ -30,7 +31,7 @@
3031
padding: 1em;
3132
}
3233
</style>
33-
<!--<script src="../vendor/modernizr.custom.js"></script>-->
34+
<script src="../vendor/modernizr.custom.js"></script>
3435
</head>
3536
<body>
3637

@@ -86,21 +87,21 @@ <h2>Where to get it</h2>
8687
('__proto__' in {} ? 'zepto' : 'jquery') +
8788
'.min.js><\/script>')
8889
</script>
90+
<!--<script src="../vendor/jquery.min.js"></script>-->
8991
<!--<script src="../vendor/jquery.scrollTo.min.js"></script>-->
9092
<script src="../lib/jquery.simpleslideview.js"></script>
9193
<script>
9294

9395
var $container = $('.views')
9496
, containerTop = $container.position().top
95-
, $body = $('body')
9697
, slideView = $container.simpleSlideView({ duration: 250 });
9798

98-
$container.on('viewChangeEnd', function () {
99-
if ($body.prop('scrollTop') > containerTop) {
100-
console.log('scroll here');
101-
// $body.animate({ scrollTop: containerTop }, 2000);
102-
}
103-
});
99+
// $container.on('viewChangeStart', function () {
100+
// if ($(window).scrollTop() > containerTop) {
101+
// console.log('scroll here');
102+
// // $body.animate({ scrollTop: containerTop }, 2000);
103+
// }
104+
// });
104105

105106
slideView.on();
106107

lib/jquery.simpleslideview.js

+26-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/jquery.simpleslideview.coffee

+23-2
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,22 @@ defaults =
44
views: '.view'
55
activeView: null
66
duration: $.fx.speeds._default
7-
easing: null
7+
easing: if Zepto? then 'ease-out' else 'swing'
88
useTransformProps: Zepto?
99
use3D: Modernizr? and Modernizr.csstransforms3d
1010
cssPrefix: if $.fx.cssPrefix? then $.fx.cssPrefix else ''
1111
resizeHeight: true
1212
heightDuration: null
1313
deferHeightChange: Zepto?
14+
scrollAfter: if $.scrollTo? then 'scrollTo' else false
1415
dataAttrEvent: 'click'
1516
dataAttr:
1617
push: 'pushview'
1718
pop: 'popview'
19+
classNames:
20+
container: 'SimpleSlideView-container'
21+
view: 'SimpleSlideView-view'
22+
activeView: 'SimpleSlideView-view-active'
1823
eventNames:
1924
viewChangeStart: 'viewChangeStart'
2025
viewChangeEnd: 'viewChangeEnd'
@@ -38,10 +43,13 @@ class SimpleSlideView
3843
@options = $.extend true, {}, defaults, options
3944
@options.heightDuration = @options.duration unless @options.heightDuration
4045
@$container = $ element
41-
@$views = @$container.find @options.views
46+
@$views = if typeof @options.views is 'string' then @$container.find(@options.views) else $(@options.views)
4247
@$activeView = if @options.activeView? then $(@options.activeView) else @$views.first()
4348

4449
on: () ->
50+
@$container.addClass @options.classNames.container
51+
@$views.addClass @options.classNames.view
52+
@$activeView.addClass @options.classNames.activeView
4553
@$views.not(@$activeView).css 'display', 'none'
4654
if @options.dataAttrEvent?
4755
@$container.on @options.dataAttrEvent, '[data-' + @options.dataAttr.push + ']', (event) =>
@@ -60,6 +68,9 @@ class SimpleSlideView
6068
@popView target
6169

6270
off: () ->
71+
@$container.removeClass @options.classNames.container
72+
@$views.removeClass @options.classNames.view + ' ' + @options.classNames.activeView
73+
# @$activeView.removeClass @options.classNames.activeView
6374
@$views.css 'display', ''
6475
if @options.dataAttrEvent?
6576
@$container.off @options.dataAttrEvent, '[data-' + @options.dataAttr.push + ']'
@@ -123,8 +134,18 @@ class SimpleSlideView
123134
resetStyles($targetView, resetProps)
124135
animateHeight() if @options.deferHeightChange
125136

137+
if @options.scrollAfter
138+
containerTop = @$container.position().top
139+
if $(window).scrollTop() > containerTop
140+
if typeof @options.scrollAfter is 'string' and $[@options.scrollAfter]?
141+
$[@options.scrollAfter] containerTop
142+
else
143+
window.scrollTo(0, containerTop);
144+
126145
animateHeight() unless @options.deferHeightChange
127146

147+
@$activeView.removeClass @options.classNames.activeView
148+
$targetView.addClass @options.classNames.activeView
128149
@$activeView = $targetView
129150

130151
pushView: (targetView) -> @changeView targetView, true

0 commit comments

Comments
 (0)