移动端网页特效:左右滑动开关

网上搜索“左右滑动开关”,结果有很多诸如:纯CSS3左右滑动开关按钮等。但事实上,这种按钮是click事件触发的。在手机网页上用这种组件,对于IPhone用户,见多了很多这种滑动按钮,如果点击触发,会显得很不协调。

说白了,网上的这种按钮都是点击按钮而非滑动按钮。我们现在要找一个滑动事件来替代click事件,最先想到的是touch相关的事件复,后来在wscschool上找到了

Swipe事件:http://www.w3school.com.cn/jquerymobile/jquerymobile_events_touch.asp;。

这个解决方案需要引入jQuery Mobile;需要注意引入这个js后产生一系列的添加样式。

代码:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
/****去掉jquery mobile的loading****/
 .ui-loader-default{ display:none}
 .ui-mobile-viewport{ border:none;}
 .ui-page {padding: 0; margin: 0; outline: 0}
/******滑动开关按钮*****/
.ui-switch {
    /*position: absolute;*/
    font-size: 16px;
    /*right: 15px;*/
    top: 6px;
    width: 52px;
    height: 22px;
    line-height: 1em;
    margin-right: 50px;
    margin-top: 5px;
}

.ui-switch .input {
    width: 52px;
    height: 22px;
    position: absolute;
    z-index: 10;
    border: 0;
    background: 0 0;
    -webkit-appearance: none;
    outline: 0
}

.ui-switch .input:before {
    content: ‘‘;
    width: 50px;
    height: 25px;
    border: 1px solid #dfdfdf;
    background-color: #fdfdfd;
    border-radius: 20px;
    cursor: pointer;
    display: inline-block;
    position: relative;
    vertical-align: middle;
    -webkit-user-select: none;
    user-select: none;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    border-color: #dfdfdf;
    -webkit-box-shadow: #dfdfdf 0 0 0 0 inset;
    box-shadow: #dfdfdf 0 0 0 0 inset;
    -webkit-transition: border .4s, -webkit-box-shadow .4s;
    transition: border .4s, box-shadow .4s;
    -webkit-background-clip: content-box;
    background-clip: content-box
}

.ui-switch.cur .input:before {
    border-color: #ed6459;
    -webkit-box-shadow: #ed6459 0 0 0 16px inset;
    box-shadow: #ed6459 0 0 0 16px inset;
    background-color: #ed6459;
    transition: border .4s, box-shadow .4s, background-color 1.2s;
    -webkit-transition: border .4s, -webkit-box-shadow .4s, background-color 1.2s;
    background-color: #ed6459
}

.ui-switch.cur .input:after {
    left: 27px
}

.ui-switch .input:after {
    content: ‘‘;
    width: 25px;
    height: 25px;
    position: absolute;
    top: 1px;
    left: 0;
    border-radius: 100%;
    background-color: #fff;
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .4);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .4);
    -webkit-transition: left .2s;
    transition: left .2s
}
</style>
</head>
<body>
<div>
    <label  class="ui-switch">
        <span class="input"></span>
    </label>
</div>

<script src="../../assets/js/jquery.min.js"></script>
<script>
//去掉 jquery mobile默认给input的添加,。顺序在引入之前
$("input").attr(‘data-role‘,‘none‘);
$("select").attr(‘data-role‘,‘none‘);
</script>
<script src="../../assets/js/jquery.mobile.js"></script>
<script>
     $(".ui-switch").on(‘swipe‘,function(){
        if($(this).attr("class").indexOf("cur")>0) {
            $(this).removeClass("cur");
        }
        else{
            $(this).addClass("cur");
        }
    });
</script>
</body>
</html>

  

至此,从点击的开关变成了滑动的开关。有点问题,其实我没只用到了jQuery Mobile中的

Swipe事件,其他的并没有用到,有必要把这个事件单独取出来引用。这个后期考虑吧~

时间: 2024-10-10 12:32:57

移动端网页特效:左右滑动开关的相关文章

PC端网页特效

元素偏移量offset系列 offset翻译过来就是偏移量,我们使用offset系列相关属性可以动态的得到该元素的位置(偏移),大小等 获得元素距离带有定位父元素的位置 获得元素自身的大小(宽度高度) 注意:放回的数值都不带单位 offset系列常用属性 offset系列属性 作用 element.offsetParent 返回作为该元素带有定位的父级元素,如果父级都没有定位则返回body element.offsetTop 返回元素相对带有定位父元素上分的偏移 element.offsetLe

JavaScript——WEBAPIS_深入动画函数的封装,常见网页特效

深入动画函数的封装 1.动画函数的封装 1.1 缓动效果的实现 这里有一些核心的算法,(目标值 - 现在的位置) ??/??10 = 每一次移动的步长 拿一个具体的效果举例子,比如让一个元素慢下来, 实现想法:让元素的移动距离变下,每一次的步长都变小,核心的算法:** (目标值 - 现在的位置) ??/??10??? 做为每次移动的距离步长**,其停止的条件就是当盒子到达目标位置就停止定时器 实现的代码: <body> <button>点击之后老李才飞!</button>

Java企业微信开发_09_身份验证之移动端网页授权(有完整项目源码)

注: 源码已上传github: https://github.com/shirayner/WeiXin_QiYe_Demo 一.本节要点 1.1 授权回调域(可信域名) 在开始使用网页授权之前,需要先设置一下授权回调域.这里瞬间想到之前做JSSDK的时候,也设置过一个域名.二者本质上都是设置可信域名. 当用户授权完毕之后,请求将重定向到此域名(或者子域名)下的执行者(jsp页面或者servlet等).如何设置授权回调域,请见第二节. 1.2 获取Code https://open.weixin.

移动端网页开发三(纠结适配的那些年)

前面两篇文章介绍了移动端网页开发所要具备的基础知识. 今天着重来讲解移动端的适配方案. 做PC端页面的工程师聊的最多的是兼容,这是因为浏览器之间的差异引起的.而移动端基本是没有兼容问题的,全是css3,简直不要太开心. 但是最明显的是适配问题. 什么是适配呢?做PC页面的时候,我们按照设计图的尺寸来就好,这个侧边栏200px,那个按钮50px.可是,当我们开始做移动端页面的时候,设计师给了一份640px的设计图.那么我们如何把这份设计图实现在各个手机上的过程就是适配. 我所接触过的适配方法,目前

微信端网页中图片的展示方式

一.微信端网页中图片的展示方式 微信端网页中图片有两种展示方式:平铺与图集.平铺的时候文档内的所有图片全部展开,点击图片则放大.图集的时候只展示一张图片,点击图片的时候以翻页的方式展示一组图片.实现原理对于如下一个图片标签,data-gid用于存放组标识,同一组的data-gid相同.data-index用于存放组中图片的展示顺序,不能相同.onclick中根据data-src处理图片展示.对于图集就只显示一张其他的img设置为隐藏,src与第一个图片一样,或者为空,这样可以减少网页的加载量,提

移动端网页实现(用百分比进行定位)

HTML代码: <div class="wrap"> <div id="bg"> <div id="title"> <a href="#" class="return">返回</a> </div> <a href="#" class="ios">ios下载</a> <

移动端网页设计经验与心得

原文:移动端网页设计经验与心得 智能手机发展确实很迅速,像今年,我的大部分工作就都在移动端网页上. 再往前些年,看到的手机版/移动版网页,限制于浏览器与手机性能,2g网络速度等 网页设计无非是蓝.黑.白,界面单调,并且要尽可能的设计简单. 现在情况就大不相同了,软件上webkit内核浏览器大行其道,硬件突飞猛进,网速来说,4g正炒得火热. 下面就和大家分享一下我的一些移动端网页设计经验与心得. ⒈ 分辨率这应该是移动端网页最关心的问题了,因为移动设备五花八门,各种分辨率都有.要想在这些设备上都能

教你3步免积分下载门素材网页特效无需工具

比如你要下载这个效果,可是积分太贵了,怎么办? 教你免积分下载(此方法仅供学习,建议大家尊重别人的劳动成果,付费购买,谢谢!) 第一步: 找到你要下载的JS特效或者其它 第二步,用火狐或者谷歌审查元素,找到源代码 第三步:找到引入的网页文件,新窗口打开 第四步:你要的特效出来啦!纯净版的,没有任何广告和其它,和你付积分下载的一样,此时你可以用工具偷下来或者直接ctrl+s直接保存为html,完工! 教你3步免积分下载门素材网页特效无需工具,布布扣,bubuko.com

手机浏览器都是按照什么分辨率解析移动端网页的

无论是公司项目还是合作项目有时候都需要一些移动端网页开发的任务,比如扫描二维码之后或者内嵌到客户端里面的页面,等等. 本篇文章主要通过调研不同横向分辨率的移动设备的网页解析情况,来给出移动端网页设置宽度的建议. 在给出调研结果之前,如果你对移动端网页开发还不够了解的话,请先阅读"移动端网页开发基础". 各位都知道手机的横向分辨率多种多样,所以我们在编写代码之前都会加入一句: <meta name="viewport" content="width=d