热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

图片左右滑动整理为插件

在做web前端开发中,图片左右滑动的功能非常常用。在自己的改进下,这款插件支持1.滑动方向的控制,上下滑动,左右滑动。2.可随意改变滑动的区域大小3.滑动中的样式都可以自定义。4.

在做web前端开发中,图片左右滑动的功能非常常用。在自己的改进下,这款插件支持

1.滑动方向的控制,上下滑动,左右滑动。

2.可随意改变滑动的区域大小

3.滑动中的样式都可以自定义。

4.兼容性良好,moz,ie,webkit

5.对滑动加入延迟加载

6.支持页面中的多处调用

以下是代码解析:

下看html结构:




/*参数

horizontal为1,水平滚动,
为0,垂直滚动,
可根据需求改变CSS满足页面要求

*/
<div class="cnt_goods_wrap cfix picSilde_style" horizOntal="1">
<div class="cnt_goods_box">
<ul class="cnt_goods_list fl cfix cnt_border" >
<li class="cnt_goods_item">
<div class="pro_img">
<a target="_blank" title="麦多多 Apple/苹果ipad5/ipad air钢化玻璃膜" href="http://www.okhqb.com/item/1000107901.html">
<img alt="麦多多 Apple/苹果ipad5/ipad air钢化玻璃膜" data-original="http://img1.hqbcdn.com/thumbs/product/bc/9c/bc9cfa5d80ce9c978b39fe9ac48cd70c.218.jpg" class="lazy" src="http://s.hqbcdn.com/assets/v3/images/blank.gif" style="display: inline;">a>
div>
li>
ul>
div>
<div style="clear:both" class="">div>
div>


 

CSS文件类容



.cnt_goods_wrap .cnt_goods_box{ position:relative; width:1198px; height:351px; overflow:hidden; float:left; z-index:1; }
.cnt_goods_wrap .cnt_goods_box .cnt_goods_list
{ position:absolute; top:0px; left:0px; }
.cnt_goods_wrap .cnt_goods_box .cnt_goods_list li
{ width:239px; background:#fff; float:left; }
.cnt_goods_wrap .cnt_goods_box .cnt_goods_list li .pro_img
{ width:239px; text-align:center; vertical-align:middle; display:table-cell; *display: block; *font-family:Arial; }
.cnt_goods_wrap .cnt_goods_box .cnt_goods_list li .pro_img img
{ width:218px; height:218px; text-align:center; vertical-align:middle; margin-top:25px; }
.cnt_goods_wrap .pre
{ position:absolute; top:100px; left:10px; z-index:88; width:34px; height:107px;}
.cnt_goods_wrap .pre a
{display:block; background:url(images/left_btn.jpg) no-repeat;
width
:34px; height:107px; z-index:288; }
.cnt_goods_wrap .next
{ position:absolute; top:100px; right:10px; z-index:288; width:34px; height:107px; }
.cnt_goods_wrap .next a
{ display:block; background:url(images/right_btn.jpg) no-repeat;
width
:34px; height:107px; }
.cnt_goods_wrap .pre a:hover
{ }
.cnt_goods_wrap .next a:hover
{ }

 对应的插件js内容:



$.extend({
/*调用滑动*/
/*根据加载的li标签数量初始化HTML中的结构*/
$(
".cnt_goods_list").each(function(i,index){
var _hori = $(this).parents(‘.cnt_goods_wrap‘).attr(‘horizontal‘),
_hori
= parseInt( _hori );
if(_hori){
var cgi_w = $(this).find("li.cnt_goods_item").outerWidth(true);
var cgl_width = ( $(index).find(".cnt_goods_item").length ) *cgi_w;
$(index).css(
"width", cgl_width+"px");
}
else{
var cgi_h = $(this).find("li.cnt_goods_item").outerHeight(true);
var cgl_height = ( $(index).find(".cnt_goods_item").length ) *cgi_h;
$(index).css(
"height", cgl_height+"px");
}
});
/*只有一屏的时候,不出现左右滑动箭头*/
$(
".cnt_goods_list").each(function(){
var i = $(picSilde_style).find(‘.cnt_goods_box‘).width() / $(picSilde_style).find(‘li.cnt_goods_item‘).width();
i
= floor(i);
var style_len = ($(this).find("li.cnt_goods_item").length)/i;
if( style_len <= 1 ){
$(
this).parents(".cnt_goods_wrap").find(".pre").hide();
$(
this).parents(".cnt_goods_wrap").find(".next").hide();
}
})

picScroll:
function(picSilde_style){
var page =1;
var hori; var _next = $(picSilde_style).children(".next");
var _pre = $(picSilde_style).children(".pre");
var _hori = $(picSilde_style).attr(‘horizontal‘),
_hori
= parseInt( _hori );
    
var i = $(picSilde_style).find(‘.cnt_goods_box‘).width() / $(picSilde_style).find(‘li.cnt_goods_item‘).width();
i
= floor(i);

/*next down*/
/*处理向下箭头,向后箭头*/
$(_next).click(
function(){
var cnt_goods_box = $(this).siblings(".cnt_goods_box");
var cnt_goods_list = cnt_goods_box.find(".cnt_goods_list");
var cgb_width = cnt_goods_box.width();
var cgb_height = cnt_goods_box.height();
var page_temp = parseInt((cnt_goods_list.find("li.cnt_goods_item").length)/i ) ;
var remainder = (cnt_goods_list.find("li.cnt_goods_item").length)%i;
var page_count;
if( remainder == 0 ){
page_count
= page_temp;
}
else{
page_count
= page_temp + 1;
}

if( $(this).siblings(".pre").find("a").hasClass("pre_unable")){
$(
this).siblings(".pre").find("a").removeClass("pre_unable");
}


if( !cnt_goods_list.is(":animated") ){
if(page == page_count ){
$(
this).find("a").addClass("next_unable");
}
else{
if( _hori ){
cnt_goods_list.animate({left:
‘-=‘+cgb_width},‘5000‘);
}
else{
cnt_goods_list.animate({top:
‘-=‘+cgb_height},‘5000‘);
}
page
++;
}
}
});

/*pre up*/
/*处理向上箭头,向前箭头*/
$(_pre).click(
function(){
var cnt_goods_box = $(this).siblings(".cnt_goods_box");
var cnt_goods_list = cnt_goods_box.find(".cnt_goods_list");
var cgb_width = cnt_goods_box.width();
var cgb_height = cnt_goods_box.height();
var page_temp = parseInt((cnt_goods_list.find(".cnt_goods_item").length)/i ) ;
var remainder = (cnt_goods_list.find("li.cnt_goods_item").length)%i;
var page_count;

if( $(this).siblings(".next").find("a").hasClass("next_unable")){
$(
this).siblings(".next").find("a").removeClass("next_unable");
}

if( remainder == 0 ){
page_count
= page_temp;
}
else{
page_count
= page_temp + 1;
}
if( !cnt_goods_list.is(":animated") ){
if(page == 1){
$(
this).find("a").addClass("pre_unable");
}
else{
page
--;
if( _hori ){
cnt_goods_list.animate({left:
‘+=‘+cgb_width},‘slow‘);
}
else{
cnt_goods_list.animate({top:
‘+=‘+cgb_height},‘slow‘);
}
}
}
});

$(_pre).trigger(
"click");
}
})

调用方式:



$.picScroll(‘.picSilde_style‘);

 

图片左右滑动整理为插件,布布扣,bubuko.com


推荐阅读
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 在使用Eclipse进行调试时,如果遇到未解析的断点(unresolved breakpoint)并显示“未加载符号表,请使用‘file’命令加载目标文件以进行调试”的错误提示,这通常是因为调试器未能正确加载符号表。解决此问题的方法是通过GDB的`file`命令手动加载目标文件,以便调试器能够识别和解析断点。具体操作为在GDB命令行中输入 `(gdb) file `。这一步骤确保了调试环境能够正确访问和解析程序中的符号信息,从而实现有效的调试。 ... [详细]
  • 本指南详细介绍了如何利用华为云对象存储服务构建视频点播(VoD)平台。通过结合开源技术如Ceph、WordPress、PHP和Nginx,用户可以高效地实现数据存储、内容管理和网站搭建。主要内容涵盖华为云对象存储系统的配置步骤、性能优化及安全设置,为开发者提供全面的技术支持。 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • Vim 编辑器功能强大,但其默认的配色方案往往不尽如人意,尤其是注释颜色为蓝色时,对眼睛极为不友好。为了提升编程体验,自定义配色方案显得尤为重要。通过合理调整颜色,不仅可以减轻视觉疲劳,还能显著提高编码效率和兴趣。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 在分析和解决 Keepalived VIP 漂移故障的过程中,我们发现主备节点配置如下:主节点 IP 为 172.16.30.31,备份节点 IP 为 172.16.30.32,虚拟 IP 为 172.16.30.10。故障表现为监控系统显示 Keepalived 主节点状态异常,导致 VIP 漂移到备份节点。通过详细检查配置文件和日志,我们发现主节点上的 Keepalived 进程未能正常运行,最终通过优化配置和重启服务解决了该问题。此外,我们还增加了健康检查机制,以提高系统的稳定性和可靠性。 ... [详细]
  • 在探讨如何在Android的TextView中实现多彩文字与多样化字体效果时,本文提供了一种不依赖HTML技术的解决方案。通过使用SpannableString和相关的Span类,开发者可以轻松地为文本添加丰富的样式和颜色,从而提升用户体验。文章详细介绍了实现过程中的关键步骤和技术细节,帮助开发者快速掌握这一技巧。 ... [详细]
  • 在 LeetCode 的“有效回文串 II”问题中,给定一个非空字符串 `s`,允许删除最多一个字符。本篇深入解析了如何判断删除一个字符后,字符串是否能成为回文串,并提出了高效的优化算法。通过详细的分析和代码实现,本文提供了多种解决方案,帮助读者更好地理解和应用这一算法。 ... [详细]
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • 系统数据实体验证异常:多个实体验证失败的错误处理与分析
    在使用MVC和EF框架进行数据保存时,遇到了 `System.Data.Entity.Validation.DbEntityValidationException` 错误,表明存在一个或多个实体验证失败的情况。本文详细分析了该错误的成因,并提出了有效的处理方法,包括检查实体属性的约束条件、调试日志的使用以及优化数据验证逻辑,以确保数据的一致性和完整性。 ... [详细]
  • 本文是Java并发编程系列的开篇之作,将详细解析Java 1.5及以上版本中提供的并发工具。文章假设读者已经具备同步和易失性关键字的基本知识,重点介绍信号量机制的内部工作原理及其在实际开发中的应用。 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
author-avatar
无敌腐女乐园
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有