js移动div怎么做出滑动的效果?

JavaScript029

js移动div怎么做出滑动的效果?,第1张

1:使用js的插件 目前主流的js库 比如jq 也有手势的插件,

2:还有移动端的zepto库 也有手势插件,

3:另外还有个叫QuoJS的手势插件 这个插件不依赖任何的库,

4:早期的应该是用wml语言支持的WMLScript实现。

5:举例:使用iscroll.js实现

1)下载iScroll.js,百度搜索iScroll.js下载即可

2)引入iScroll.js,在要使用滑动效果的地方,引入iScroll.js文件

3)编写规范的html格式

只有如下格式才能实现滑动效果

<div id="wrapper">

<div class="scroll">

这个区域可以滑动

</div>

</div>

如下格式不能滑动

<div id="wrapper">

<div class="other">这个区域可以滑动</div>

<div class="scroll">

这个区域不可以滑动了

</div>

</div>

只有wrapper的第一个子元素才能实现滑动效果。

4)编写js调用代码

var Scroll = new iScroll('wrapper',{hScrollbar:false, vScrollbar:false})

第一参数必需是滑动元素的父元素的id。

主要参数一览:

hScroll: true, 左右滑动,默认为true

vScroll: true,上下滑动

hScrollbar: true, 是否显示y轴滚动条,默认为显示

vScrollbar: true,是否显示X轴滚动条,默认为显示

一个div的鼠标滑过隐藏后,就再也滑不上了。因为页面已经看不见它了。

所以应该鼠标滑过一个div,让另一个div显示和隐藏,下面是简单代码,仅供参考:

<style>

    div {width:100px height:100px background:#cccmargin:10px}

</style>

<body>

    <div id='div1'></div>

    <div id='div2'></div>

</body>

<script>

    var oDiv1 = document.getElementById('div1')

    var oDiv2 = document.getElementById('div2')

    oDiv1.onmouseover = function(){

        oDiv2.style.display = 'none'

    }

    oDiv1.onmouseout = function(){

        oDiv2.style.display = 'block'

    }

</script>

通过div的scrollTop变动控制垂直滚动条位置。

通过div的scrollLeft变动控制水平滚动条位置。

示例

<body>

//d1是外层div,带滚动条

<div id='d1' style='height:200pxwidth:100pxoverflow:autobackground:blue'>

<div style='height:500pxwidth:500pxbackground:yellow'>2222</div>

</div>

</body>

<script>

document.getElementById('d1').scrollTop=100//通过scrollTop设置滚动到100位置

document.getElementById('d1').scrollLeft=200//通过scrollTop设置滚动到200位置

</script>