前言

我就想随便叨逼叨几句,爱看就看几句,不爱看就直接跳过看正文就好啦~

这个方法是仿写页面时我自己研究出来,可能有比我更简单的方法。

但我不管,因为我没查我不知道,我就觉得我的最好啦,耶耶耶~


效果图


功能描述

1、鼠标按住移动一定距离,内容随之进行切换。

2、开始和结尾处不能再拖动了。

3、下方的控制条随之变换,进行切换指示。


解决思路

1、利用jQuery监听鼠标移动距离

2、内容浮动排成一列,长度是父容器宽度的3倍

3、当移动距离超过一定长度时,内容移动一倍父容器宽度的距离

4、内容移动通过定位左右移动来实现

5、下方控制条3个小白点是固定的,一个大白点包含一个黑点的整体(即选中点)随内容进行同步移动,来实现视觉上切换指示


代码演示

1、HTML部分

 <div class="ppt">
<div id="ppt-contents">
<div class="ppt-item">
<div class="item">
<div class="container-icon">
<i class="fa fa-quote-right"></i>
</div>
<p>跟觅未合作很愉快,我们觉得觅未是一家很专业的品牌设计公司,这个团队非常棒,有激情、有创造力、有执行力,经常给我们带来很多好的IDEA,是我们合作过的供应商中设计水平比较高,非常值得信任的一家。</p>
<h4 class="quote-author">东阿市场部 / 刘经理 </h4>
</div>
</div>
<div class="ppt-item">
<div class="item">
<div class="container-icon">
<i class="fa fa-quote-right"></i>
</div>
<p>觅未是一家很用心的品牌设计公司,相比之前合作过的一些供应商,觅未的工作态度认真主动,项目进度控制严格,即便我们没有要求,他们也会主动做多款不同方向的设计稿供我们选择,与觅未合作我们很放心。</p>
<h4 class="quote-author">雀巢市场部 / 张经理 </h4>
</div>
</div>
<div class="ppt-item">
<div class="item">
<div class="container-icon">
<i class="fa fa-quote-right"></i>
</div>
<p>我们是通过一次比稿选择了觅未创意,他们除了设计能力突出之外,还有自己的技术研发团队,经营模式融合了互联网的服务理念,沟通流程扁平化,服务态度诚恳,执行效率高,是一家性价比很高的设计公司。</p>
<h4 class="quote-author">伊利市场部 / 王经理 </h4>
</div>
</div>
</div>
</div>
<div class="ppt-controls">
<div class="dots">
<div class="dot"></div>
<div class="dot"></div>
<div class="dot"></div>
<div id="select-dot">
<div id="black-dot"></div>
</div>
</div>

2、CSS部分

 //最外面的父容器,相当于一个显示口
.ppt {
width: 100%;
height: 100%;
//要隐藏超出的部分
overflow: hidden;
cursor: pointer;
position: relative;
} .ppt-item {
//子元素左浮动,使其排成一列
float: left;
color: #FFFFFF;
width: 33.3%;
//使文本无法选中
user-select: none;
} #contact .container-icon {
margin-top: 10px;
font-size: 38px;
} #contact .dark-bg p {
margin: 25px 100px;
font-size: 16px;
line-height: 1.8;
} #contact .ppt-controls {
margin-top: 10px;
} .ppt-controls .dots {
//相对定位,使选中的点可以相对他进行移动
position: relative;
width: 72px;
margin: 0 auto;
text-align: center;
} .ppt-controls .dot {
width: 8px;
height: 8px;
background-color: #FFFFFF;
border-radius: 5px;
float: left;
margin: 2px 8px;
} #select-dot{
width: 14px;
height: 14px;
background-color: #FFFFFF;
border-radius: 6px;
margin-left:8px ;
//相对定位,使其可以左右移动
position: relative;
left:0;
//快速转化,效果更好
transition: all 0.001s ease;
} #black-dot{
width: 8px;
height: 8px;
border-radius: 4px;
background-color: #4C424E;
margin: 0 3px;
position: absolute;
top: 3px;
}

3、jQuery部分

 var x = 0
$(".ppt").mousedown(function(event) {
//获取鼠标按下时的x方向位置
x = event.pageX;
$(".ppt").mouseup(function(event) {
//获取鼠标抬起时的x方向位置
var newx = event.pageX;
//两者相减得到鼠标移动距离
var changex = newx - x
//获取内容相对于父容器的左偏移距离
var left = $("#ppt-contents").position().left;
//获取选中点的左偏移距离
var dleft = $("#select-dot").position().left;
//获取父容器的宽度
var width = $(".ppt").width();
//判断移动正负和大小,来决定对象移动方向的距离
if(changex > 60) {
var newleft = left + width;
var newdleft = dleft - 24;
if(newleft > 0) {
newleft = 0;
newdleft = 0;
};
$("#ppt-contents").css("left", newleft);
$("#select-dot").css("left", newdleft);
};
if(changex < -60) {
var newleft = left - width
var newdleft = dleft + 24;
if(newleft < -width * 2) {
newleft = -width * 2;
newdleft = 48;
};
$("#ppt-contents").css("left", newleft);
$("#select-dot").css("left", newdleft);
};
});
});

【分享】jQuery无插件实现 鼠标拖动图片切换 功能的更多相关文章

  1. 【方法】jQuery无插件实现 鼠标拖动切换图片/内容 功能

    前言 我就想随便叨逼叨几句,爱看就看几句,不爱看就直接跳过看正文就好啦~ 这个方法是仿写页面时我自己研究出来,可能有比我更简单的方法. 但我不管,因为我没查我不知道,我就觉得我的最好啦,耶耶耶~ 效果 ...

  2. js和jquery 两种写法 鼠标经过图片切换背景效果

    这个是javascript的写法 <img src="res/img/shop-c_32.jpg" alt="" onmouseover="th ...

  3. 基于js鼠标拖动图片排序

    分享一款基于js的图片排序效果.鼠标拖动图片,重新排列图片的排列顺序.该插件适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 在线 ...

  4. 分享JQuery动画插件Velocity.js的六种列表加载特效

    分享JQuery动画插件Velocity.js的六种列表加载特效.在这款实例中给中六种不同的列表加载效果.分别为从上飞入.从右侧飞入.从左侧飞入.和渐显.一起看下效果图: 在线预览   源码下载 实现 ...

  5. jquery 实现的一款超简单的图片切换功能

    <html><head> <meta http-equiv="Content-Type" content="text/html; chars ...

  6. Unity UGUI实现鼠标拖动图片

    using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; ...

  7. 30款jQuery常用网页焦点图banner图片切换 下载

    1.jquery 图片滚动特效制作 slide 图片类似窗帘式图片滚动 查看演示 2.jquery幻灯片插件带滚动条的圆形立体图片旋转滚动 查看演示 3.jQuery图片层叠旋转类似洗牌翻转图片幻灯片 ...

  8. 30款jQuery常用网页焦点图banner图片切换 下载 (转)

    1.jquery 图片滚动特效制作 slide 图片类似窗帘式图片滚动 查看演示 2.jquery幻灯片插件带滚动条的圆形立体图片旋转滚动 查看演示 3.jQuery图片层叠旋转类似洗牌翻转图片幻灯片 ...

  9. 30款jQuery常用网页焦点图banner图片切换

    1.jquery 图片滚动特效制作 slide 图片类似窗帘式图片滚动 查看演示 2.jquery幻灯片插件带滚动条的圆形立体图片旋转滚动 查看演示 3.jQuery图片层叠旋转类似洗牌翻转图片幻灯片 ...

随机推荐

  1. 正确使用Exception异常对象

    一.异常的构成 new Exception() 创建异常对象 throw 抛出异常对象(主要性能损耗位置) try{}catch{} 捕捉异常对象 C#里面异常对象分为两个子类ApplicationE ...

  2. C#中的原子操作Interlocked,你真的了解吗?

    阅读目录 背景 代码描述 越分析越黑暗 结语 一.背景 这个标题起的有点标题党的嫌疑[捂脸],这个事情的原委是这样的,有个Web API的站点在本地使用Release模式Run的时候出现问题,但是使用 ...

  3. java web jsp原理图 ,静态包含,动态包含,out与response.getWrite()

    jsp原理图 ,静态包含,动态包含,out与response.getWrite() 

  4. Java面向对象 GUI 补录

     Java面向对象 GUI 补录 知识概要:(1)GUI和CLI                   (2)AWT和SWING                   (3)AWT继承关系图      ...

  5. C#一款比较美观的验证码

    using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System. ...

  6. JavaScript面向对象(OOP)

      前  言 JRedu 面向对象程序设计(简称OOP)是现在最流行的程序设计方法,这种方法有别于基于过程的程序设计方法.在写面向对象的WEB应用程序方面JavaScript是一种很好的选择.它能支持 ...

  7. AmCharts 对数据排序后展示

    在官网看到的例子 给chart添加一个排序功能的handler AmCharts.addInitHandler( function(chart){ if (chart.orderByField === ...

  8. rewrap-ajax.js插件

    很久没有动手写技术的文章,这个过程中间一直在写日记,生活点滴的记录替代了技术文章的编写,可以看出以往的内心是激情或烈火,现在是... 最近写了一个JS插件,用圈内的话说叫造了个轮子,造的好与不好都不是 ...

  9. OpenSCAD 建模:矿泉水瓶盖

    下载地址:https://github.com/ZhangGaoxing/openscad-models/tree/master/BottleCap 代码: module screw(r=){ ::] ...

  10. shell编程/字库裁剪(2)——编程过程

    版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/7704085.html 作者:窗户 Q ...