这是一款使用css3和Velocity.js制作的jquery图片预览插件。

电子商务网站设计的宗旨是通过简化的设计提高用户体验,提高转化率也有一定的模式。另外一种模式是在需要的地方提供更多的信息来达到同样的目的。这款jquery图片预览插件使用的就是第二种模式。

这个插件的操作十分简单:点击quick view按钮触发模态窗口来显示大图和图片的信息。

一个插件程序的设计理念是为用户提供最好的体验,有很多工具可以帮助我们制作平滑的动画效果,例如:Joel Besada 的Bounce.js 和 Julian Shapiro 的Velocity.js。

回到我们的教程,下面是一张显示该插件功能的gif图片:

HTML结构

html结构中图片画廊使用一个无序列表制作。.cd-quick-view

是插件的重点部分,它包含一个slider .cd-slider-wrapper和图片信息 .cd-item-info。

  • Quick View

  • Prev
  • Next

Produt Title

Lorem ipsum dolor sit amet, consectetur adipisicing...

  • Add to cart
  • Learn more

Close

CSS样式

首先需要注意的是,该插件的效果在移动设备和手机上隐藏的。原因是使用手机很容易就可以进入到产品页面。

大部分的动画效果都使用jQuery和Velocity.js来完成。半透明的遮罩层使用body::after伪元素来制作。

body::after {

/* dark overlay layer - visible when we fire .cd-quick-view */

position: fixed;

top: 0;

left: 0;

width: 100%;

height: 100%;

background: rgba(71, 55, 78, 0.8);

visibility: hidden;

opacity: 0;

transition: opacity .3s 0s, visibility 0s .3s;

}

@media only screen and (min-width: 1024px) {

body.overlay-layer::after {

visibility: visible;

opacity: 1;

transition: opacity .3s 0s, visibility 0s 0s;

}

}

插件中很多元素的动画都带有CSS3 transition。为了是插件性能更好,我们使用了translateZ(0) hack技术。

.cd-quick-view {

display: block;

position: fixed;

max-width: 900px;

visibility: hidden;

/* Force Hardware Acceleration in WebKit */

transform: translateZ(0);

-webkit-backface-visibility: hidden;

backface-visibility: hidden;

will-change: left, top, width;

z-index: 1;

}

JAVASCRIPT

当用户点击了.cd-trigger元素,我们获取被选择图片的top、left和宽度值,并将它放入到.cd-quick-view元素中(该元素是position: fixed的)。通过这个方法使.cd-quick-view拥有和图片相同的大小。

当我们移动.cd-quick-view元素,第一步我们移动.cd-quick-view的宽度到最终宽度(在插件中是400px)。我们也移动.cd-quick-view的位置,使它相对于屏幕居中。在这一步中,只有图片是可见的,图片说明仍被隐藏。

第二步我们 改变.cd-quick-view到它的最终值(屏幕宽度的80%,最大宽度900px),并改变它的位置使其居中。

我们使用Velocity.js来制作动画效果。这个插件重新实现了jQuery的$.animate()方法,使其性能更加优秀。在插件中,第一步动画使用了spring easing 效果,第二步中使用量为ease easing 效果。

$('.cd-trigger').on('click', function(event){

$('.cd-quick-view').css({

"top": topSelected, // this is the selected image top value

"left": leftSelected, // this is the selected image left value

"width": widthSelected, // this is the selected image width

}).velocity({

//animate the quick view: animate its width and center it in the viewport

//during this animation, only the slider image is visible

'width': sliderFinalWidth+'px',

'left': finalLeft+'px', // ($(window).width - sliderFinalWidth)/2,

'top': finalTop+ 'px', // ($(window).height - slider final height)/2,

}, 1000, [ 400, 20 ])

.velocity({

'width': quickViewWidth+'px', // 80% of the viewport

'left': quickViewLeft+'px', // 10% of the viewport

}, 300, 'ease' ,function(){

//show quick view content

$('.cd-quick-view').addClass('add-content');

}).addClass('is-visible');

//assign .overlay-layer class to the body, assign the .empty-box class to the selected .cd-item

//...

});

当用户关闭图片预览窗口,动画效果也是非常酷的。

注意:在关闭图片预览窗口之前,我们改变了图片的src的值。

图片预览小窗口html,jQuery和css3超酷图片预览插件相关推荐

  1. jQuery和CSS3超酷图片和按钮点击波特效

    rippler是一款效果非常炫酷的 jQuery和 CSS3图片和按钮点击波特效插件. 点击波特效是指在按钮或图片上点击的时候,从点击的位置开始,会产生一种圆形光波向外辐射的炫酷效果.这款点击波特效同 ...

  2. 响应式网站导航html,jQuery和CSS3响应式网站导航幻灯片插件

    这是一款即实用又炫酷的jQuery和CSS3响应式网站导航幻灯片插件.该插件将幻灯片制作为网站的hero导航,在幻灯片中展示网站各主要板块的内容,使用户可以非常容易的了解网站的主要信息. 该幻灯片插件 ...

  3. html5导航菜单置顶,jQuery和css3顶部固定导航菜单特效插件

    这是一款非常实用的jQuery和css3顶部固定导航菜单特效插件.我们曾经在很多网站上都看到过这种顶部固定导航菜单特效.Disqus For Websites的导航菜单就是一个很好的例子. HTML结 ...

  4. html5 拉窗帘 效果,jQuery和CSS3超酷3D拉窗帘式滚动导航特效

    这是一款效果炫酷的jQuery和CSS3 3D拉窗帘式导航特效.该特效使用CSS transformations 和 jQuery使两块"窗帘"沿Z轴方向模拟被拉开的效果. HTM ...

  5. jQuery和CSS3超酷二级下拉菜单插件

    这是一款效果很酷又简单实用的 jQuery二级下拉菜单特效,该特效在点击触发按钮后,二级下拉菜单会向下滑动覆盖原来的主菜单,关闭后二级下拉菜单又向上滑动回去,二级菜单不占用多余的空间. 这个菜单插件是 ...

  6. 景区导览小程序怎么开发,需要哪些功能?

    导览系统是智慧景区的重要组成部分,旨在为游客提供方便快捷的导览服务,使游客能够查看景区全景地图.查看景点图文介绍.收听讲解音频.快速查询公共服务设施,大幅度提升游客的游览体验. 景区建立导览系统就是为 ...

  7. 使用jQuery开发一个超酷的倒计时效果

    转自:http://www.gbtags.com/technology/jquerytutorial/20110105countdownjquery/ 使用jQuery开发一个超酷的倒计时效果 日期: ...

  8. jQuery和CSS3商品图片预览轮播图插件

    这是一款非常实用的 jQuery和 CSS3创意商品图片预览 轮播图插件.该轮播图插件以每个商品作为一个轮播图,用户可以在每个商品缩略图中查看该商品的颜色和款式.一般的商务网站都是通过图片来吸引用户, ...

  9. java ajax上传图片插件_java图片上传并预览,前台用jQuery插件AjaxFileUpload,后台用FileUtils.copyFile....

    个人笔记,以备后用. 表体代码: 查看图片 js代码(记得要引入jquery库和ajaxfileupload库): //上传文件id号 function fileUpload(uploadFileId ...

最新文章

  1. vw实现移动端自适应页面
  2. 基数排序及其思想 C++代码实现及分析 恋上数据结构笔记
  3. 模式对话框与非模式对话框的区别
  4. oracle函数 MIN([distinct|all]x)
  5. 南华大学ACM队2021年7.14训练赛题解
  6. Pyspark:NLP(文本分类)
  7. PRML 十大经典机器学习算法
  8. iOS平台上aa(见缝插针)游戏的简易实现
  9. 计算机中的PS颜色填充快捷键,ps中填充颜色的快捷键是什么(填充Shift+F5)
  10. 2021年黄石二中高考成绩查询,【黄石二中2018高考金榜】黄石二中2004届高考总结...
  11. Fortran中输出Tecplot格式
  12. python 多态app_python 多态实例
  13. 学渣的刷题之旅 leetcode刷题 35.搜索插入位置(暴力法、二分查找)
  14. python安装cfgrib读取grib数据
  15. 简述什么是图灵机_图灵机的工作原理是什么
  16. 软件测试的定义、分类、方法、生命周期
  17. 破壳问答 | 收集问题
  18. 关于CEGUI的几点不解
  19. 【DispNet_CVPR_2016】论文阅读之一
  20. 美国俚语:down-to-earth踏实谦逊

热门文章

  1. SEO站外优化有哪些方法?
  2. 性能结果分析与理解(关于90%响应时间、图表等)
  3. VB6.0简繁体转换步骤
  4. 室内定位技术:UWB、蓝牙、RFID和WIFI——谁将是主角
  5. 【动态规划】盖房子(house)--未提交--已提交
  6. Android Studio插件Code Iris——自动生成UML类图
  7. 网投简历+宣讲会内容流水账(得帆宣讲会+汉得宣讲会)+感想+汉得offer
  8. STM32计算文件、片上flash、外部flash等数据的MD5校验值
  9. Eclipse: Type Java compiler level does not match the version of the instal解决方法
  10. 信泰人寿如意尊2.0终身寿险综合分析