JQM水平滚动导航栏

| 我一直在寻找文档,似乎无法找到一种在jQuery mobile中制作可滚动的水平导航栏的方法,有人能做到吗? 这是到目前为止我对navbar的拥有
<div data-role=\"header\" data-scroll=\"x\">
    <ul>
        <li class=\"logo\"><a href=\"#\"><img src=\"img/iphoneheader.gif\" alt=\"Penn State Live\" /></a></li>
        <li id=\"link\"><a href=\"#type=colleges\">Colleges</a></li>
        <li><a href=\"#\">Campuses</a></li>
        <li><a href=\"#\">Faculty and Staff</a></li>
        <li><a href=\"#\">Of Interest</a></li>
        <li><a href=\"#\">Photos</a></li>
        <li><a href=\"#\">Video</a></li>
        <li><a href=\"#\">Newswire Subscription</a></li>
        <li><a href=\"#\">PSUTXT</a></li>
    </ul>
</div>
    
已邀请:
我想这就是你想要的。 HTML。
    <div class=\"categories\">                
            <ul>                    
                <li><span><a href=\"\">ABC</a></span></li>
                <li><span><a href=\"\">DEF</a></span></li>
                <li><span><a href=\"\">GHI</a></span></li>
                <li><span><a href=\"\">JKL</a></span></li>
            </ul>               
        </div>
jQuery查询
$(function(){           
    var step = 1;
    var current = 0;
    var maximum = $(\".categories ul li\").size();
    var visible = 2;
    var speed = 500;
    var liSize = 120;
    var height = 60;    
    var ulSize = liSize * maximum;
    var divSize = liSize * visible; 

    $(\'.categories\').css(\"width\", \"auto\").css(\"height\", height+\"px\").css(\"visibility\", \"visible\").css(\"overflow\", \"hidden\").css(\"position\", \"relative\");
    $(\".categories ul li\").css(\"list-style\",\"none\").css(\"display\",\"inline\");
    $(\".categories ul\").css(\"width\", ulSize+\"px\").css(\"left\", -(current * liSize)).css(\"position\", \"absolute\").css(\"white-space\",\"nowrap\").css(\"margin\",\"0px\").css(\"padding\",\"5px\");

    $(\".categories\").swipeleft(function(event){
        if(current + step < 0 || current + step > maximum - visible) {return; }
        else {
            current = current + step;
            $(\'.categories ul\').animate({left: -(liSize * current)}, speed, null);
        }
        return false;
    });

    $(\".categories\").swiperight(function(){
        if(current - step < 0 || current - step > maximum - visible) {return; }
        else {
            current = current - step;
            $(\'.categories ul\').animate({left: -(liSize * current)}, speed, null);
        }
        return false;
    });         
});
    
另外,请尝试:http://kryops.de/jqm/tabs/demo 这看起来确实很有希望,并且在移动设备上的性能很棒。     
我知道这不是您要寻找的东西,但: 实时示例:http://jsfiddle.net/9zuxH/10/
<div data-role=\"page\" data-theme=\"b\" id=\"jqm-home\">
    <ul >
        <li data-role=\"fieldcontain\"> 
            <fieldset data-role=\"controlgroup\" data-type=\"horizontal\">
                <div class=\"logo\"><a href=\"#\"><img src=\"img/iphoneheader.gif\" alt=\"Penn State Live\" /></a></div>
                <div id=\"link\"><a href=\"#type=colleges\">Colleges</a></div>
                <a href=\"#\">Campuses</a>
                <a href=\"#\">Faculty and Staff</a>
                <a href=\"#\">Of Interest</a>
                <a href=\"#\">Photos</a>
                <a href=\"#\">Video</a>
                <a href=\"#\">Newswire Subscription</a>
                <a href=\"#\">PSUTXT</a>
            </fieldset>
        </li>
    </ul>
</div>
文档:jquerymobile.com/demos/1.0a4.1/docs/lists/lists-forms-inset.html 更新了示例:http://jsfiddle.net/9zuxH/21/ 好一点     
这是在第一条评论之后,因此,我将解决用手指滚动导航栏的需要。 您指出了有问题的实现。还有其他 我曾经使用过一次: http://plugins.jquery.com/project/jQclickNScroll 用于桌面触摸屏。 (不确定其在移动设备上的行为) 它与hrefs一起使用,并具有选项
allowHiliting:true
,该选项可以关闭以防止其他事件通过 这是: http://digitalillusion.altervista.org/wordpress/pages/dragscroller/viewport-test.html     
在研究同一问题时偶然发现了这一点。还没有尝试过,但是看起来很方便 http://darsa.in/sly/     

要回复问题请先登录注册