Skip to content

Commit ea29f2f

Browse files
committed
Quinn elements now fill the entire wrapper.
In the past, when you provided a wrapper element to Quinn, it would reduce the size of the slider "bar" so that both the bar and the handle fit within the wrapper. As such, you had to set dimensions on the wrapper sufficiently large to fit both. Now, the wrapper element should be sized to fit the bar *only*. For example, the default Quinn theme wrapper element is now expected to be only 5px high, instead of the previous 22. This means that the vertical alignment of Quinn will likely look a little out of place on your site. To adjust for this, add a suitable amount of "margin-top" to the element.
1 parent e13d498 commit ea29f2f

File tree

6 files changed

+60
-55
lines changed

6 files changed

+60
-55
lines changed

docs/jquery.quinn.html

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1137,7 +1137,7 @@ <h3>render</h3>
11371137
<td class=code>
11381138
<div class='highlight'><pre> <span class="nx">Quinn</span><span class="p">.</span><span class="nx">Renderer</span><span class="p">.</span><span class="nx">prototype</span><span class="p">.</span><span class="nx">render</span> <span class="o">=</span> <span class="kd">function</span> <span class="p">()</span> <span class="p">{</span>
11391139
<span class="kd">var</span> <span class="nx">barWidth</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">width</span> <span class="o">||</span> <span class="k">this</span><span class="p">.</span><span class="nx">wrapper</span><span class="p">.</span><span class="nx">width</span><span class="p">(),</span>
1140-
<span class="nx">movableRange</span><span class="p">,</span> <span class="nx">handleWidth</span><span class="p">,</span> <span class="nx">handleDangle</span><span class="p">,</span> <span class="nx">i</span><span class="p">,</span> <span class="nx">length</span><span class="p">;</span>
1140+
<span class="nx">movableRange</span><span class="p">,</span> <span class="nx">i</span><span class="p">,</span> <span class="nx">length</span><span class="p">;</span>
11411141

11421142
<span class="kd">function</span> <span class="nx">addRoundingElements</span><span class="p">(</span><span class="nx">element</span><span class="p">)</span> <span class="p">{</span>
11431143
<span class="nx">element</span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="nx">$</span><span class="p">(</span><span class="s1">&#39;&lt;div class=&quot;left&quot; /&gt;&#39;</span><span class="p">));</span>
@@ -1195,30 +1195,23 @@ <h3>render</h3>
11951195
elements widths and positions as necessary &hellip;</p>
11961196
</td>
11971197
<td class=code>
1198-
<div class='highlight'><pre> <span class="k">this</span><span class="p">.</span><span class="nx">bar</span><span class="p">.</span><span class="nx">css</span><span class="p">({</span> <span class="nx">width</span><span class="o">:</span> <span class="nx">barWidth</span><span class="p">.</span><span class="nx">toString</span><span class="p">()</span> <span class="o">+</span> <span class="s1">&#39;px&#39;</span> <span class="p">});</span>
1199-
1200-
<span class="nx">handleWidth</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">options</span><span class="p">.</span><span class="nx">handleWidth</span> <span class="o">||</span>
1201-
<span class="k">this</span><span class="p">.</span><span class="nx">quinn</span><span class="p">.</span><span class="nx">handles</span><span class="p">[</span><span class="mi">0</span><span class="p">].</span><span class="nx">element</span><span class="p">.</span><span class="nx">width</span><span class="p">();</span></pre></div>
1198+
<div class='highlight'><pre> <span class="k">this</span><span class="p">.</span><span class="nx">bar</span><span class="p">.</span><span class="nx">css</span><span class="p">({</span> <span class="nx">width</span><span class="o">:</span> <span class="nx">barWidth</span><span class="p">.</span><span class="nx">toString</span><span class="p">()</span> <span class="o">+</span> <span class="s1">&#39;px&#39;</span> <span class="p">});</span></pre></div>
12021199
</td>
12031200
</tr>
12041201
<tr id='section-62'>
12051202
<td class=docs>
12061203
<div class="pilwrap">
12071204
<a class="pilcrow" href="#section-62">&#182;</a>
12081205
</div>
1209-
<p>The &ldquo;dangle&rdquo; allows the handle to appear slightly to the left of
1210-
the slider bar.</p>
1206+
<p>TODO 5px is hard-coded for the standard Quinn theme. Following the</p>
1207+
1208+
<pre><code> removal of the handleWidth option, perhaps it might be
1209+
prudent to add a "movementAdjust" option...
1210+
</code></pre>
12111211
</td>
12121212
<td class=code>
1213-
<div class='highlight'><pre> <span class="nx">handleDangle</span> <span class="o">=</span> <span class="nb">Math</span><span class="p">.</span><span class="nx">round</span><span class="p">(</span><span class="nx">handleWidth</span> <span class="o">*</span> <span class="mf">0.25</span><span class="p">);</span>
1214-
1215-
<span class="k">this</span><span class="p">.</span><span class="nx">bar</span><span class="p">.</span><span class="nx">css</span><span class="p">({</span>
1216-
<span class="nx">marginLeft</span><span class="o">:</span> <span class="nx">handleDangle</span><span class="p">.</span><span class="nx">toString</span><span class="p">()</span> <span class="o">+</span> <span class="s1">&#39;px&#39;</span><span class="p">,</span>
1217-
<span class="nx">width</span><span class="o">:</span> <span class="p">(</span><span class="nx">barWidth</span> <span class="o">-</span> <span class="p">(</span><span class="nx">handleDangle</span> <span class="o">*</span> <span class="mi">2</span><span class="p">)).</span><span class="nx">toString</span><span class="p">()</span> <span class="o">+</span> <span class="s1">&#39;px&#39;</span>
1218-
<span class="p">});</span>
1219-
1220-
<span class="k">this</span><span class="p">.</span><span class="nx">wrapper</span><span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="s1">&#39;.movable-range&#39;</span><span class="p">).</span><span class="nx">css</span><span class="p">({</span>
1221-
<span class="nx">width</span><span class="o">:</span> <span class="p">(</span><span class="nx">barWidth</span> <span class="o">-</span> <span class="nx">handleWidth</span><span class="p">).</span><span class="nx">toString</span><span class="p">()</span> <span class="o">+</span> <span class="s1">&#39;px&#39;</span>
1213+
<div class='highlight'><pre> <span class="k">this</span><span class="p">.</span><span class="nx">wrapper</span><span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="s1">&#39;.movable-range&#39;</span><span class="p">).</span><span class="nx">css</span><span class="p">({</span>
1214+
<span class="nx">width</span><span class="o">:</span> <span class="p">(</span><span class="nx">barWidth</span> <span class="o">-</span> <span class="mi">5</span><span class="p">).</span><span class="nx">toString</span><span class="p">()</span> <span class="o">+</span> <span class="s1">&#39;px&#39;</span>
12221215
<span class="p">});</span></pre></div>
12231216
</td>
12241217
</tr>

jquery.quinn.js

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -683,7 +683,7 @@
683683
*/
684684
Quinn.Renderer.prototype.render = function () {
685685
var barWidth = this.options.width || this.wrapper.width(),
686-
movableRange, handleWidth, handleDangle, i, length;
686+
movableRange, i, length;
687687

688688
function addRoundingElements(element) {
689689
element.append($('<div class="left" />'));
@@ -728,21 +728,11 @@
728728

729729
this.bar.css({ width: barWidth.toString() + 'px' });
730730

731-
handleWidth = this.options.handleWidth ||
732-
this.quinn.handles[0].element.width();
733-
734-
// The "dangle" allows the handle to appear slightly to the left of
735-
// the slider bar.
736-
737-
handleDangle = Math.round(handleWidth * 0.25);
738-
739-
this.bar.css({
740-
marginLeft: handleDangle.toString() + 'px',
741-
width: (barWidth - (handleDangle * 2)).toString() + 'px'
742-
});
743-
731+
// TODO 5px is hard-coded for the standard Quinn theme. Following the
732+
// removal of the handleWidth option, perhaps it might be
733+
// prudent to add a "movementAdjust" option...
744734
this.wrapper.find('.movable-range').css({
745-
width: (barWidth - handleWidth).toString() + 'px'
735+
width: (barWidth - 5).toString() + 'px'
746736
});
747737

748738
// Finally, these events are triggered when the user seeks to

jquery.quinn.min.js

Lines changed: 4 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

quinn.css

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,20 @@
1717

1818
/* Slider height */
1919
.quinn, .quinn .bar, .quinn .active-bar, .quinn .movable-range {
20-
height: 18px;
20+
height: 5px;
2121
}
2222

2323
/* Float clearing */
2424

2525
.quinn {
26-
overflow: hidden;
26+
padding-right: 5px;
27+
zoom: 1;
28+
}
29+
30+
.quinn:after {
31+
content: ""
32+
display: table;
33+
clear: both;
2734
}
2835

2936
/**
@@ -48,31 +55,31 @@
4855
.quinn .bar .left, .quinn .bar .main, .quinn .bar .right,
4956
.quinn .active-bar .left, .quinn .active-bar .main,
5057
.quinn .active-bar .right {
51-
height: 18px;
58+
height: 5px;
5259
position: absolute;
5360
z-index: 1;
5461
}
5562

5663
.quinn .bar .left, .quinn .bar .right,
5764
.quinn .active-bar .left, .quinn .active-bar .right {
58-
height: 18px;
65+
height: 5px;
5966
width: 4px
6067
}
6168

6269
.quinn .bar .left, .quinn .active-bar .left {
63-
background-position: -50px -17px;
70+
background-position: -50px -25px;
6471
left: 0;
6572
}
6673

6774
.quinn .bar .main, .quinn .active-bar .main {
68-
background-position: 0 -142px;
75+
background-position: 0 -150px;
6976
background-repeat: repeat-x;
7077
left: 4px;
7178
right: 4px;
7279
}
7380

7481
.quinn .bar .right, .quinn .active-bar .right {
75-
background-position: -56px -17px;
82+
background-position: -56px -25px;
7683
right: 0px;
7784
}
7885

@@ -97,16 +104,16 @@
97104
}
98105

99106
.quinn .active-bar .left {
100-
background-position: -70px -17px;
107+
background-position: -70px -25px;
101108
}
102109

103110
.quinn .active-bar .main {
104-
background-position: 0 -192px;
111+
background-position: 0 -200px;
105112
right: 4px;
106113
}
107114

108115
.quinn .active-bar .right {
109-
background-position: -76px -17px;
116+
background-position: -76px -25px;
110117
right: 0px;
111118
}
112119

@@ -126,11 +133,12 @@
126133
.quinn .handle {
127134
background-position: 0 0;
128135
cursor: default;
129-
height: 22px;
136+
height: 21px;
130137
left: 0%;
138+
margin: -8px 0 0 -8px;
131139
outline: none;
132140
position: absolute;
133-
width: 22px;
141+
width: 21px;
134142
z-index: 5;
135143
}
136144

@@ -157,7 +165,7 @@
157165
.quinn.range .handle {
158166
background-position: -100px 0;
159167
height: 26px;
160-
margin-top: -1px;
168+
margin-top: -9px;
161169
width: 19px;
162170
}
163171

vendor/examples.css

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -345,12 +345,17 @@ p code {
345345
/* width is 487px */
346346
}
347347

348-
.example .slider {
348+
.example .widget {
349349
border-right: 1px solid #d9e0e4;
350350
float: left;
351351
margin: -24px 0;
352-
padding: 24px 24px 24px 0;
353-
width: 375px;
352+
padding: 32px 24px 29px 5px;
353+
width: 370px;
354+
}
355+
356+
.example .widget .slider {
357+
height: 5px;
358+
width: 365px;
354359
}
355360

356361
.example .value {
@@ -387,7 +392,7 @@ p code {
387392

388393
.example .slider .bar {
389394
/* reduces page "jumping" while the images load. */
390-
min-height: 18px;
395+
min-height: 5px;
391396
}
392397

393398
.example.hide-code pre {
@@ -409,6 +414,15 @@ ul.yes li:before {
409414

410415
/* Rainbow theme adjustment. */
411416

417+
.example.rainbow .widget {
418+
padding-bottom: 30px;
419+
}
420+
412421
.example.rainbow .slider {
413-
padding-top: 23px;
422+
padding-top: 0px;
423+
margin-top: -1px;
424+
}
425+
426+
.example.rainbow .slider .handle {
427+
margin-left: -9px;
414428
}

vendor/examples.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,8 @@
8484

8585
exampleEl = $('<div class="example" id="' + exampleID + '"></div>');
8686

87-
exampleEl.append($('<div class="slider"></div>'));
87+
exampleEl.append($('<div class="widget"></div>').append(
88+
$('<div class="slider"></div>')));
8889
exampleEl.append($('<div class="value"></div>'));
8990
exampleEl.append($('<pre></pre>').append(
9091
$('<code class="javascript"></code>').html($this.html())

0 commit comments

Comments
 (0)