手机设备中可滚动的水平导航

简介:

在手机web app开发中会涉及到水平导航,例如:

上面的新闻栏目就是一个水平导航,并且还可以水平滚动,因为一行显示不完. 

那么如何实现呢?

先看下实现的效果

PC端浏览器中:

 

手机中:

 

在手机上面没有滚动条,因为可以通过手指触屏滚动.

页面代码如下:

Html代码   收藏代码
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8">  
  5. <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1.0 ,user-scalable=no">  
  6. <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css">  
  7. <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>  
  8. <script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>  
  9.   
  10. <style>  
  11.     #overflow {  
  12.         border: 1px solid #000;  
  13.         overflow-x: scroll;  
  14.         overflow-y: hidden;  
  15.     }  
  16.     #overflow .container div {  
  17.         float: left;  
  18.         width: 60px;  
  19.         float: left;  
  20.     }  
  21.     @media only screen and (max-width : 1024px) {  
  22.         #overflow {width: 480;   
  23.         height: 60px;}          
  24.         #overflow .container div{  
  25.             height: 45px;  
  26.         }  
  27.     }          
  28.     @media only screen and (max-width : 768px) {  
  29.         #overflow {width: 480;   
  30.         height: 60px;}          
  31.         #overflow .container div{  
  32.             height: 45px;  
  33.         }  
  34.     }          
  35.     @media only screen and (max-width : 480px) {  
  36.         #overflow {width: 480;   
  37.         height: 35px;}          
  38.         #overflow .container div{  
  39.             height: 20px;  
  40.         }  
  41.     }  
  42.     @media only screen and (max-width : 320px) {  
  43.         #overflow {width: 320;   
  44.         height: 35px;}          
  45.         #overflow .container div{  
  46.             height: 20px;  
  47.         }  
  48.     }  
  49. </style>  
  50. </head>      
  51. <body>  
  52. <div data-role="page" id="currentorders">  
  53.    <header data-role="header" data-position="fixed">  
  54.         <nav data-role="navbar">  
  55.             <div id="overflow">  
  56.                 <div class="container">  
  57.                     <div><a href="" class="yellow">item 1</a>  
  58.                     </div>  
  59.                     <div><a href="" class="orange">item 2</a>  
  60.                     </div>  
  61.                     <div><a href="" class="red">item 3</a>  
  62.                     </div>  
  63.                     <div><a href="" class="yellow">item 4</a>  
  64.                     </div>  
  65.                     <div><a href="" class="orange">item 5</a>  
  66.                     </div>  
  67.                     <div><a href="" class="red">item 6</a>  
  68.                     </div>  
  69.                     <div><a href="" class="red">item 7</a>  
  70.                     </div>  
  71.                     <div><a href="" class="red">item 8</a>  
  72.                     </div>  
  73.                     <div><a href="" class="red">item 9</a>  
  74.                     </div>  
  75.                     <div><a href="" class="red">item 10</a>  
  76.                     </div>  
  77.                      <div><a href="" class="red">item 11</a>  
  78.                     </div>  
  79.                 </div>  
  80.             </div>  
  81.         </nav>  
  82.         <div data-role="header">  
  83.             <h3>这是一个水平导航栏,并且支持水平滚动</h3>  
  84.         </div>  
  85.     </header>  
  86.     <div data-role="content">              
  87.         这是网页的主体  
  88.     </div>  
  89.       
  90. </div>          
  91. </body>  
  92. <script>  
  93.  $('#currentorders').live("pageshow", function () {  
  94.   var width = 0;  
  95.   $('#overflow .container div').each(function () {  
  96.     width += $(this).outerWidth(true);  
  97.   });  
  98.   $('#overflow .container').css('width', width + "px");  
  99. })  
  100. /*  
  101. $("#overflow .container div a").live('touchstart', function () {  
  102.  var width = 0;  
  103.  $('#overflow .container div').each(function () {  
  104.     width += $(this).outerWidth(true);  
  105.  });  
  106.  $('#overflow .container').css('width', width + "px");  
  107. })  
  108. */  
  109. </script>      
  110. </html>  

 

应用场景:移动web app

注意:

(1)页面采用HTML5,推荐使用 HTML5 的文档类型申明: <!DOCTYPE html>.


(建议使用 text/html 格式的 HTML。避免使用 XHTML。XHTML 以及它的属性,比如 application/xhtml+xml 在浏览器中的应用支持与优化空间都十分有限)。

(2)采用jQuery mobile框架

 

参阅:http://stackoverflow.com/questions/20851378/horizontal-scrolling-navbar-with-jquery-mobile-and-html5

相关文章
|
6月前
【实现手机端上滑滚动加载列表】判断页面是否滚动到底部或者指定元素位置
【实现手机端上滑滚动加载列表】判断页面是否滚动到底部或者指定元素位置
|
1月前
|
存储 Android开发 网络架构
点心云-N1盒子、机顶盒、手机等设备-小白保姆式刷机教程
本文介绍了N1盒子的刷机教程,包括未刷机和已刷其他系统的N1。教程详细列出了所需工具和具体步骤,如下载工具包、制作安装盘、打开ADB模式、降级、刷入新系统等,确保用户能够顺利完成刷机操作。对于已刷第三方系统的N1,还提供了解决USB线不被识别、驱动问题及供电不足等常见问题的方法。
122 1
点心云-N1盒子、机顶盒、手机等设备-小白保姆式刷机教程
|
23天前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
24 1
|
5月前
|
JavaScript
技术心得:根据不同访问设备跳转到PC页面或手机页面
技术心得:根据不同访问设备跳转到PC页面或手机页面
64 0
|
6月前
|
存储 Android开发
采用SAMKeychain钥匙串存储设备唯一标示与何种情况下同一个手机它存储的值会变化
采用SAMKeychain钥匙串存储设备唯一标示与何种情况下同一个手机它存储的值会变化
107 1
|
6月前
|
Web App开发 Linux Android开发
Chrome谷歌浏览器的WeChat微信模拟器,既可以设置模拟很多型号的手机设备Mozilla
Chrome谷歌浏览器的WeChat微信模拟器,既可以设置模拟很多型号的手机设备Mozilla
|
6月前
|
编解码 测试技术 API
模拟手机设备:使用 Playwright 实现移动端自动化测试
本文介绍了使用Python的Playwright库进行移动设备模拟和自动化测试的方法。通过Playwright,开发者能模拟不同设备的硬件和软件特性,如屏幕尺寸、用户代理,以确保网站在移动设备上的表现。示例代码展示了如何模拟iPhone X并访问网站,之后可在此基础上编写测试代码以检验响应式布局和交互功能。Playwright的设备参数注册表支持多种设备,简化了移动端自动化测试的流程。
训练自己的图像分类模型部署在手机设备
训练自己的图像分类模型部署在手机设备
|
前端开发 容器
CSS不同手机型号各种尺寸设备宽高比
CSS不同手机型号各种尺寸设备宽高比
127 0
|
传感器 物联网 智能硬件
IoT设备与手机App之间实时消息通信解决方案
PLC 工控机和管理人员 App 的联动
1491 15
IoT设备与手机App之间实时消息通信解决方案
下一篇
无影云桌面