【问题标题】:Accordion Image Viewer... Swipe navigation on mobile?Accordion Image Viewer... 在移动设备上滑动导航?
【发布时间】:2015-03-07 00:38:50
【问题描述】:

我在这里可以看到一个手风琴图像查看器:

http://jsfiddle.net/gvp8kkeh/1/

这是 HTML:

<div class="accordian">
    <ul>
        <li class="item active">
            <a href="#">
                <img src="http://ih0.redbubble.net/image.7643638.3643/flat,550x550,075,f.jpg" alt="" />
            </a>
        </li>
        <li class="item">
            <a href="#">
                <img src="http://ih0.redbubble.net/image.7643638.3643/flat,550x550,075,f.jpg" alt="" />
            </a>
        </li>
        <li class="item">
            <a href="#">
                <img src="http://ih0.redbubble.net/image.7643638.3643/flat,550x550,075,f.jpg" alt="" />
            </a>
        </li>
        <li class="item">
            <a href="#">
                <img src="http://ih0.redbubble.net/image.7643638.3643/flat,550x550,075,f.jpg" alt="" />
            </a>
        </li>
         <li class="item">
            <a href="#">
                <img src="http://ih0.redbubble.net/image.7643638.3643/flat,550x550,075,f.jpg" alt="" />
            </a>
        </li>
    </ul>
</div>

这是 CSS:

.accordian {
margin-left: auto;
margin-right: auto;
width: 100%;
height: auto;
overflow: hidden;
}
.accordian ul {width: 200%;}
.accordian li {
position: relative;
display: block;
width: 4%;
float: left;
transition: all 0.5s;
-webkit-transition: all 0.5s;
-moz-transition: all 0.5s;
}
.accordian .active {width: 32%;}
.accordian li img {
display: block;
width: 60vw;
height: auto;
}

和 JS:

var items = $('.accordian .item');
items.on('mouseover', function (event) {
    items.removeClass('active');
    $(this).addClass('active');
});

我希望能够让用户左右滑动以浏览移动设备上的照片。

谁能提供一些见解?

【问题讨论】:

    标签: jquery css mobile accordion swipe


    【解决方案1】:

    为此,您需要使用 jQuery mobile。然后你可以使用类似的东西:

    $( ".accordian" ).on( "swipeleft", function(event){
    items.each(function (event) {
    if($(this).hasClass('active))
    {
    var index = $(this).index();
    items.removeClass('active');
    items.eq(index-1).addClass('active');
    }
    });
    });
    $( ".accordian" ).on( "swiperight", function(event){
    items.each(function (event) {
    if($(this).hasClass('active))
    {
    var index = $(this).index();
    items.removeClass('active');
    items.eq(index+1).addClass('active');
    }
    });
    });
    

    如果您遇到任何问题,请告诉我。

    【讨论】:

    • 谢谢!我想我想弄清楚的是如何通过添加“活动”类来使左右滑动移动到随后的
    • 我应该按顺序给每个
    • 它自己的身份吗?我不太确定该怎么做。
  • 你就是男人!谢谢...但是它对我不起作用...我在我的页面上收到一条加载消息,并且在 if($(this).hasClass('active)) 上收到一条错误消息 EOF
  • 应该是 $(this).hasClass('active') :) 有 ' missing .. 拼写错误...另外,你是否包含了 jquery mobile,因为这是 swipeleft 和 swiperight 所必需的事件
  • 是的,我包含了 min.js。我相信 Jquery Mobile 会导致页面上的加载消息。不需要 css 对吗?
  • 能否请您更新小提琴中的相同内容并分享。我现在将检查是否是导致问题的原因。
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签