1 <div class="tab-item popover-outer">
2 <a href="#" class="popover-toggle">
3 <span class="icon icon-grid"></span>
4 <span class="tab-label">商品分类</span>
5 </a>
6 <!-- Popver -->
7 <div id="popover" class="popover">
8 <ul class="table-view">
9 <li class="table-view-cell"><a href="#">全部商品</a></li>
10 <li class="table-view-cell"><a href="#">水晶</a></li>
11 <li class="table-view-cell"><a href="#">玛瑙</a></li>
12 <li class="table-view-cell"><a href="#">砗磲</a></li>
13 </ul>
14 </div>
15 <!-- // Popver -->
16 </div>
1 //
2 // Popovers (to be used with popovers.js)
3 // --------------------------------------------------
4 .popover-outer {
5 position: relative;
6 &.open {
7 .popover-toggle {
8 color: #fe7115;
9 .icon {
10 background-position-y: -24px;
11 }
12 }
13 .popover {
14 opacity: 1;
15 visibility: visible;
16 @include transform(translate3d(0, 0, 0));
17 }
18 }
19 }
20 .popover {
21 position: absolute;
22 bottom: 55px;
23 left: 50%;
24 z-index: 20;
25 width: 100px;
26 margin-left: -50px;
27 background-color: #fafafa;
28 border-radius: $border-radius;
29 opacity: 0;
30 visibility: hidden;
31 @include box-shadow(0 0 15px rgba(0, 0, 0, .1));
32 @include transform(translate3d(0, 15px, 0));
33 @include transition(all .25s linear);
34
35 // Caret on top of popover using CSS triangles (thanks to @chriscoyier for solution)
36 &:after {
37 position: absolute;
38 bottom: -8px;
39 left: 50%;
40 width: 0;
41 height: 0;
42 margin-left: -8px;
43 content: '';
44 border-right: 8px solid transparent;
45 border-top: 8px solid #ffffff;
46 border-left: 8px solid transparent;
47 }
48
49 // Popover transition
50 // --------------------------------------------------
51
52
53
54 // Give correct spacing to the content if there is a bar inside the popover.
55 .bar ~ .table-view {
56 padding-top: $bar-base-height;
57 }
58 }
1 popover: function(){
2 var eventName;
3 /Android|webOS|iphone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)?eventName = 'touchstart': eventName = 'click' ;
4 $('.popover-toggle').on(eventName,function(e){
5 e.stopPropagation();
6 e.preventDefault();
7 var $this = $(this)
8 ,$parent = $this.parent();
9 if ($parent.hasClass('open')) {
10 $parent.removeClass('open');
11 } else {
12 $parent.addClass('open').siblings('.tab-item').removeClass('open');
13 }
14 });
15 $('.popover').on(eventName,function(e){
16 e.stopPropagation();
17 });
18 $('body,html').on(eventName,function(e){
19 e.stopPropagation();
20 $('.popover-outer').removeClass('open');
21 });
22 }