移动端html5怎么实现原生tab滑动切换

移动端html5怎么实现原生tab滑动切换,第1张

 我们使用移动端时可以通过触屏手势左右滑动来切换TAB栏目,我们说的TAB一般由导航条和TAB对应的内容组成,切换导航条上的标签同时标签对应的内容也会跟着切换。

我们准备一个TAB导航#pagenavi,里面包含TAB导航要切换的四个导航按钮,然后是切换的主体内容#slider,这里应该放置四个li与导航按钮对应,内容自定义。

由于是移动端应用,我们加载zepto.js,zepto就是体积小的jquery。然后需要加载触屏滑动插件touchslider.js。

接下来我们就直接调用TouchSlider,通过设置绑定tab,滑动方向、速度、时间等信息实现内容切换,请看详细代码:

<script type="text/javascript">

var page='pagenavi'

var mslide='slider'

var mtitle='emtitle'

arrdiv = 'arrdiv'

var as=document.getElementById(page).getElementsByTagName('a')

var tt=new TouchSlider({id:mslide,'auto':'-1',fx:'ease-out',direction:'left',speed:600,timeout:5000,'before':function(index){

var as=document.getElementById(this.page).getElementsByTagName('a')

as[this.p].className=''

as[index].className='active'

this.p=index

var txt=as[index].innerText

$("#"+this.page).parent().find('.emtitle').text(txt)

var txturl=as[index].getAttribute('href')

var turl=txturl.split('#')

$("#"+this.page).parent().find('.go_btn').attr('href',turl[1])

}})

tt.page = page

tt.p = 0

for(var i=0i<as.lengthi++){

(function(){

var j=i

as[j].tt = tt

as[j].onclick=function(){

this.tt.slide(j)

return false

}

})()

}

</script>

纯html的意思至少应该有css和JS吧?两种解决方案:

方案1:多个标签,下面的DIV只需要一个,每切换到一个标签通过ajax获取相应数据,然后填充到div中,这个因为涉及到ajax你可能不会,所以跳过,用下一个

文案2:标签与下面的DIV一一对应,DIV默认先全部隐藏,切换到哪个标签就显示对应的DIV。

先来样式表

<style type="text/css">

    a{border:1px solid #f00margin:10pxpadding:10px}

    div.show{display:noneborder:1px solid #00fpadding:20pxmargin:20px}

</style>

再来html

<p>

<a>标签1</a><a>标签2</a><a>标签3</a>

</p>

<div class="show" id="show0">内容1</div>

<div class="show" id="show1">内容2</div>

<div class="show" id="show2">内容3</div>

JS脚本

$("p a").mouseover(function () {

        $(".show").hide()

        $("#show" + $(this).index()).fadeIn(500)

    })

在看看吧这个是你要的制表符

<script>

function ff(event){

event=event || window.event

//alert(event.keyCode)

if(event.keyCode==9){//获取TAB的事件

document.getElementById('name').value=" "+document.getElementById('name').value//改变文本框值这个你随意是空格或什么的你自己改

document.getElementById('name').focus()//这里是把焦点放到文本框中,因为按了TAB后是往下一个位置走的需要强制让他回来我选择了键盘抬起事件作为触发点

}

}

</script>

<body onKeyUp="ff()" >

<input type="text" id="name" name="name">

</body>


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/7132531.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-02
下一篇2023-04-02

发表评论

登录后才能评论

评论列表(0条)

    保存