webapp 开发之iScroll 学习
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 学习的更多相关文章
- IOS开发之XCode学习011:UISwitch控件
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1.定义UIswitch控件,添加UIswitc ...
- 移动开发之h5学习大纲
移动开发学习形式:授课.自学 1.html5 css3 htm5shiv.js response.js 2.流式布局 自适应布局 盒模型 弹性盒模型 响应式布局3.iscroll swiper boo ...
- iOS开发之git学习
本人是参考廖雪峰的git学习的.他写的非常详细,我在这里就是把我学习中的总结以及碰到的坑写出来. /* 初始化git仓库:git init */ /* 添加文件到git仓库 */ 分两步: 第一步:追 ...
- IOS开发之XCode学习012:Slider和ProgressView
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1.定义UISlider和UIProgressV ...
- IOS开发之XCode学习010:定时器和视图对象
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1.通过点击"启动定时器"按钮 ...
- IOS开发之XCode学习009:UIViewController使用
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 通过点击屏幕事件,调用ViewController ...
- IOS开发之XCode学习008:UIViewController基础
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 红色框选部分用A代替,AppDelegate类在程序框架启动时,如果在i ...
- IOS开发之XCode学习007:UIWindow对象
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm #import "AppDelegate.h" @i ...
- IOS开发之XCode学习013:步进器和分栏控件
此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1.定义UIStepper和UISegmente ...
随机推荐
- android开发连接wifi addNetwork 返回-1
如下代码:(注释掉的是会返回-1的代码,未注释的是能够正常连接wifi的代码) // public WifiConfiguration CreateWifiInfo(String SSID, Stri ...
- hdu 4193 Non-negative Partial Sums
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4193 题意:给出一个n数列,要求把前i(1<=i<=n)个数移到剩余数列的后面形成新的数列 ...
- 剑指offer--面试题22
关键在于思路, 需要两个输入向量,而函数中需要一个辅助栈! 思路:以待判出栈序列为基础,逐个判断它与栈顶元素是否相等,相等则弹出且j++,这表明此元素可为出栈顺序元素,不相等则栈元素不断入栈,直至相 ...
- nsight 初级使用指南
1.安装,没有什么特殊设置 2.打开vs,编译生成你需要分析的.exe,在vs上方菜单,有nsight menu, choose Start Graphics Debugging. 3.在弹出对话框中 ...
- IBatis 常用XML
<select id="GetInfo"> <![CDATA[ select * from vi_WaterStation ]]> <dynami ...
- 使用css3伪元素制作时间轴并且实现鼠标选中高亮效果
利用css3来制作时间轴的知识要点:伪元素,以及如何在伪元素上添加锚伪类 1)::before 在元素之前添加内容. 2)::after 在元素之后添加内容. 提示:亦可写成 :before :aft ...
- PowerDesigner(四)-业务处理模型(转)
业务处理模型 业务处理模型(Business Process Model,BPM)以业务需求作为出发点,用图形的方式描述系统的任务和业务流程,注重的是处理过程中数据流程.业务处理模型是从业务人员的角度 ...
- Sqli-labs less 34
Less-34 本关是post型的注入漏洞,同样的也是将post过来的内容进行了 ' \ 的处理.由上面的例子可以看到我们的方法就是将过滤函数添加的 \ 给吃掉.而get型的方式我们是以url形式提交 ...
- 解决IE不支持position:fixed问题
#box { /* 非IE6浏览器使用固定元素 */ position:fixed; top:0; left:0; /* IE6改为绝对定位,并通过css表达式根据滚动位置更改top的值 */ _po ...
- Python - 装饰器使用过程中的误区
曾灵敏 - APRIL 27, 2015 装饰器基本概念 大家都知道装饰器是一个很著名的设计模式,经常被用于AOP(面向切面编程)的场景,较为经典的有插入日志,性能测试,事务处理,Web权限校验, C ...