demo.html

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Document</title>
<script src="lib/jquery.js"></script>
<script src="lib/iScroll.js"></script>
<script src="js/demo8.js"></script>
<style>
/******************reset****************************/
body{font-family: 'Microsoft Yahei';background: #eee;}
*{margin:0;padding: 0;}
h1,h2,h3,h4,h5,h6{font-size: 100%;font-weight: normal;font-style: normal;}
ul li{list-style: none;}
/*****************common*****************************/
.mb20{margin-bottom: 20px;}
.clearfix{*zoom:1;}
.clearfix:before,
.clearfix:after{display: table;line-height: 0;content: '';}
.clearfix:after{clear: both;} /******************layout****************************/
.header{position: absolute;top: 0;height: 30px;line-height: 1.5;text-align: center;width: 100%;background: brown;color: white;}
.section{position: absolute;top: 30px;bottom: 30px;overflow: auto;width: 100%;}
.footer{position: absolute;bottom: 0;height: 30px;line-height: 1.5;text-align: center;width: 100%;background: brown;color: white;}
.app-wrapper{height: 100%;} /**
* 滚动图片
*/
.prod-scro-list{background: #fff;padding: 10px;}
.prod-wrapper{width: 300px;background: pink;margin: 0 auto;}
.prod-wrapper .prod-container{width: 1200px;}
.prod-wrapper .prod-container ul {}
.prod-wrapper .prod-container ul li{width: 280px;height: 100px;padding: 10px;float: left;} .scro-nav-bar {width: 100px;margin: 0 auto;}
.scro-nav-bar ul {}
.scro-nav-bar ul li{float: left;width: 23px;text-align: center;display: block;}
.scro-nav-bar ul li.active{background: brown;color: white;}
/**
* 产品详情介绍
*/
.prod-detail-intr{background: #fff;}
.prod-detail-intr article{padding: 20px;} /**
* 产品规格
*/
.prod-format{background: #fff;padding: 10px;}
.prod-format-wrapper{overflow: hidden;width: 300px;background: pink;margin: 0 auto;}
.prod-format-wrapper .prod-format-list{overflow: hidden;width: 900px;}
.prod-format-wrapper .prod-format-list ul{}
.prod-format-wrapper .prod-format-list ul li{width: 280px;height: 100px;padding: 10px;float: left;} nav.prod-format-nav-bar{}
nav.prod-format-nav-bar ul {width: 250px;margin: 0 auto;}
nav.prod-format-nav-bar ul li {float: left;width: 80px;text-align: center;display: block;}
nav.prod-format-nav-bar ul li.active{background: brown;color: white;}
</style>
</head>
<body>
<header class="header"><h1>Header</h1></header>
<section class="section">
<div id="app-wrapper" class="app-wrapper">
<div class="app-container">
<div class="prod-scro-list mb20">
<div id="prod-wrapper" class="prod-wrapper">
<div class="prod-container">
<ul class="clearfix">
<li>this is prod 1 pic</li>
<li>this is prod 2 pic</li>
<li>this is prod 3 pic</li>
<li>this is prod 4 pic</li>
</ul>
</div>
</div>
<nav class="scro-nav-bar">
<ul class="clearfix">
<li class="active">1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
</nav>
</div>
<div class="prod-detail-intr mb20">
<article>
<h1>this is prod title</h1>
<p>this is introduction paragraph!</p>
</article>
</div>
<div class="prod-format mb20">
<nav class="prod-format-nav-bar">
<ul class="clearfix">
<li class="active">产品名称</li>
<li>产品参数</li>
<li>商品价值</li>
</ul>
</nav>
<div id="prod-format-wrapper" class="prod-format-wrapper">
<div class="prod-format-list">
<ul class="clearfix">
<li>this is format 1</li>
<li>this is format 2</li>
<li>this is format 3</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</section>
<footer class="footer"><p>Footer</p></footer>
</body>
</html>

demo6.js

;(function () {
'use strict'; var ProdDetailApp = function () {
var sectScrol = null,
prodScrol = null,
prodFormScrol = null; this.run = function () {
// console.log('running!'); $(window).load(function () {
sectScrol = new iScroll('app-wrapper');
prodScrol = new iScroll('prod-wrapper', {
snap: true,
momentum: false,
hScrollbar: false,
onScrollEnd: function () {
document.querySelector('.scro-nav-bar ul li.active').className = '';
document.querySelector('.scro-nav-bar ul li:nth-child('+(this.currPageX+1)+')').className='active';
}
});
prodFormScrol = new iScroll('prod-format-wrapper', {
snap: true,
momentum: false,
hScrollbar: false,
onScrollEnd: function () {
document.querySelector('.prod-format-nav-bar ul li.active').className = '';
document.querySelector('.prod-format-nav-bar ul li:nth-child('+(this.currPageX+1)+')').className='active';
}
});
}); $(document).delegate('.prod-format-nav-bar ul li', 'click', navScrolAction); function navScrolAction (e) {
var $this = $(e.target),
index = $this.index(); prodFormScrol.scrollToPage(index, 1);
}
}
} var prodDetailApp = new ProdDetailApp();
prodDetailApp.run();
}());

webapp 开发之iScroll 学习的更多相关文章

  1. IOS开发之XCode学习011:UISwitch控件

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能:  1.定义UIswitch控件,添加UIswitc ...

  2. 移动开发之h5学习大纲

    移动开发学习形式:授课.自学 1.html5 css3 htm5shiv.js response.js 2.流式布局 自适应布局 盒模型 弹性盒模型 响应式布局3.iscroll swiper boo ...

  3. iOS开发之git学习

    本人是参考廖雪峰的git学习的.他写的非常详细,我在这里就是把我学习中的总结以及碰到的坑写出来. /* 初始化git仓库:git init */ /* 添加文件到git仓库 */ 分两步: 第一步:追 ...

  4. IOS开发之XCode学习012:Slider和ProgressView

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能:  1.定义UISlider和UIProgressV ...

  5. IOS开发之XCode学习010:定时器和视图对象

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1.通过点击"启动定时器"按钮 ...

  6. IOS开发之XCode学习009:UIViewController使用

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 通过点击屏幕事件,调用ViewController ...

  7. IOS开发之XCode学习008:UIViewController基础

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 红色框选部分用A代替,AppDelegate类在程序框架启动时,如果在i ...

  8. IOS开发之XCode学习007:UIWindow对象

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm #import "AppDelegate.h" @i ...

  9. IOS开发之XCode学习013:步进器和分栏控件

    此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能:  1.定义UIStepper和UISegmente ...

随机推荐

  1. android开发连接wifi addNetwork 返回-1

    如下代码:(注释掉的是会返回-1的代码,未注释的是能够正常连接wifi的代码) // public WifiConfiguration CreateWifiInfo(String SSID, Stri ...

  2. C#和asp.net执行外部EXE程序

    这两天研究下.Net的执行外部EXE程序问题,就是在一个程序里通过按钮或其他操作运行起来另外一个程序,需要传入参数,如用户名.密码之类(实际上很类似单点登录,不过要简单的多的多):总结如下: 1.CS ...

  3. How to Build Android Applications Based on FFmpeg by An Example

    This is a follow up post of the previous blog How to Build FFmpeg for Android.  You can read the pre ...

  4. 【转载】错误:ORA-28002: the password will expire within 7 days 解决方法

    免责声明:     本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除.     原文作者:xwdreamer      原文地址: 错误:ORA-28002: the ...

  5. noi2006day2_最大获利 网络流

    这道题是上一题的数据加强版,dinic表示毫无压力: #include<iostream> #include<cstdio> #include<cstring> # ...

  6. frequentism-and-bayesianism-chs-iv

    frequentism-and-bayesianism-chs-iv 频率主义与贝叶斯主义 IV:Python的贝叶斯工具   这个notebook出自Pythonic Perambulations的 ...

  7. mvc从xheditor编辑器中获取内容时存在潜在危险

    xmfdsh在使用xheditor提交要发布的文章等内容的时候出现了如下的错误: 从客户端(Content="<p style="text-align...")中检 ...

  8. topcoder 643 DIV2

    太弱了,太弱了! A:基本的判断吧,然后就是边界问题,写了好久,结果发现时房间第二个交的.. B:真心跪了,还好想出来了,思路想的太慢太慢,结果交上去,落后太多,不过HACK时很多人挂了, 这也是DI ...

  9. jQuery1.9.1源码分析--Events模块

    var rformElems = /^(?:input|select|textarea)$/i, rkeyEvent = /^key/, rmouseEvent = /^(?:mouse|contex ...

  10. C# 序列化 Serialize 的应用

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...