您现在的位置是:首页 > cms教程 > phpcms教程phpcms教程
phpcms v9中jquery.sgallery插件升级到soChange的方法
凡旋2025-05-27phpcms教程已有人查阅
导读今日发现在系统中焦点图位置用的是jquery.sgallery.js插件,但是在搜狗浏览器的兼容模式中,焦点图会逐个被裁剪,也找不到具体原因,就搜索了下sgallery,发现他有了一个升级版本
今日发现在系统中焦点图位置用的是jquery.sgallery.js插件,但是在搜狗浏览器的兼容模式中,焦点图会逐个被裁剪,也找不到具体原因,就搜索了下sgallery,发现他有了一个升级版本,叫做soChange。
作者说解决了一些bug于是把他换到系统当中,phpcms系统将这个插件增加了一个titleObj属性,我们也更新到他的新版本中。
这样更改完之后的js文件是这样的
作者说解决了一些bug于是把他换到系统当中,phpcms系统将这个插件增加了一个titleObj属性,我们也更新到他的新版本中。
这样更改完之后的js文件是这样的
/*
* soChange 1.6.1 - object change with jQuery
* made by bujichong 2024-10-10
* http://hi.baidu.com/bujichong/
*/
;(function($){
$.fn.extend({
"soChange": function(o){
o= $.extend({
thumbObj:null,//导航对象
titleObj:null,//标题
botPrev:null,//按钮上一个
botNext:null,//按钮下一个
changeType:'fade',//切换方式,可选:fade,slide,默认为fade
thumbNowClass:'now',//导航对象当前的class,默认为now
thumbOverEvent:true,//鼠标经过thumbObj时是否切换对象,默认为true,为false时,只有鼠标点击thumbObj才切换对象
slideTime:1000,//平滑过渡时间,默认为1000ms,为0或负值时,忽略changeType方式,切换效果为直接显示隐藏
autoChange:true,//是否自动切换,默认为true
clickFalse:true,//导航对象点击是否链接无效,默认是return false链接无效,当thumbOverEvent为false时,此项必须为true,否则鼠标点击事件冲突
overStop:true,//鼠标经过切换对象时,是否停止切换,并于鼠标离开后重启自动切换,前提是已开启自动切换
changeTime:5000,//自动切换时间
delayTime:300//鼠标经过时对象切换迟滞时间,推荐值为300ms
}, o || {});
var _self = $(this);
var thumbObj;
var size = _self.size();
var nowIndex =0; //定义全局指针
var index;//定义全局指针
var startRun;//预定义自动运行参数
var delayRun;//预定义延迟运行参数
//主切换函数
function fadeAB () {
if (nowIndex != index) {
if (o.thumbObj) {
$(o.thumbObj).removeClass(o.thumbNowClass).eq(index).addClass(o.thumbNowClass);
$(o.titleObj).eq(nowIndex).hide();//新增加title
$(o.titleObj).eq(index).show();//新增加title
}
if (o.slideTime <= 0) {
_self.eq(nowIndex).hide();
_self.eq(index).show();
}else if(o.changeType=='fade'){
_self.eq(nowIndex).fadeOut(o.slideTime);
_self.eq(index).fadeIn(o.slideTime);
}else{
_self.eq(nowIndex).slideUp(o.slideTime);
_self.eq(index).slideDown(o.slideTime);
}
nowIndex = index;
// if (o.autoChange) {
// clearInterval(startRun);//重置自动切换函数
// startRun = setInterval(runNext,o.changeTime);
// }
}
}
//切换到下一个
function runNext() {
index = (nowIndex+1)%size;
fadeAB();
}
//初始化
_self.hide().eq(0).show();
//点击任一图片
if (o.thumbObj) {
thumbObj = $(o.thumbObj);
//初始化thumbObj
thumbObj.removeClass(o.thumbNowClass).eq(0).addClass(o.thumbNowClass);
thumbObj.click(function () {
index = thumbObj.index($(this));
fadeAB();
if (o.clickFalse) {return false;}
});
if (o.thumbOverEvent) {
thumbObj.hover(function () {//去除jquery1.2.6不支持的mouseenter方法
index = thumbObj.index($(this));
delayRun = setTimeout(fadeAB,o.delayTime);
},function () {
clearTimeout(delayRun);
});
}
}
//点击上一个
if (o.botNext) {
$(o.botNext).click(function () {
if(_self.queue().length<1){runNext();}
return false;
});
}
//点击下一个
if (o.botPrev) {
$(o.botPrev).click(function () {
if(_self.queue().length<1){
index = (nowIndex+size-1)%size;
fadeAB();
}
return false;
});
}
//自动运行
if (o.autoChange) {
startRun = setInterval(runNext,o.changeTime);
if (o.overStop) {
_self.hover(function () {//去除jquery1.2.6不支持的mouseenter方法
clearInterval(startRun);//重置自动切换函数
},function () {
startRun = setInterval(runNext,o.changeTime);
});
}
}
}
})
})(jQuery);
function slide(Name,Class,Width,Height,fun){
$(Name).width(Width);
$(Name).height(Height);
if(fun == true){
$(Name).append('<div class="title-bg"></div><div class="title"></div><div class="change"></div>')
var atr = $(Name+' div.changeDiv a');
var sum = atr.length;
for(i=1;i<=sum;i++){
var title = atr.eq(i-1).attr("title");
var href = atr.eq(i-1).attr("href");
$(Name+' .change').append('<i>'+i+'</i>');
$(Name+' .title').append('<a href="'+href+'">'+title+'</a>');
}
$(Name+' .change i').eq(0).addClass('cur');
}
$(Name+' div.changeDiv a').soChange({//对象指向层,层内包含图片及标题
titleObj:Name+' div.title a',
thumbObj:Name+' .change i',
thumbNowClass:Class
});
$(Name+" .title-bg").width(Width);
}
这样的话,外部调用的地方也就不用改了,还是原来的老样子参考
new slide("#main-slide","cur",310,260,1);//焦点图
原来jquery.sgallery.js中还有几个函数,可以直接copy到新文件当中用了。
本文标签:
很赞哦! ()
相关教程
图文教程
phpcms根目录结构
| - api 接口文件目录| - caches缓存文件目录| - configs系统配置文件目录| - caches_*系统缓存目录| - phpcms phpcms框架主目录| - languages框架语言包目录
phpcms新建模型的步骤方法
phpcms 怎么新建模型?登录PHPCMS后台,选择管理内容(顶部导航)--模型管理(左侧导航最下面)选择添加模型,弹出窗口,按照你的需求填写,这里我写测试模型,点击确定保存
PHPCMS和帝国CMS的会员管理系统有哪些差异
phpcms和帝国cms在会员管理系统上的主要差异在于灵活性和易用性。1. phpcms提供高度灵活性和可扩展性,适合需要复杂会员系统的网站。2. 帝国cms则以简洁和易用性著称
linux centos8安装php+nginx+mysql运行phpcms网站的方法步骤
重新换vps,用centos8,重新配置系统环境,记下笔记:安装nginx与php首先安装nginx php ,安装默认版本的nginx,php默认安装7yum install nginx php系统罗列安装详细信息
相关源码
-
(PC+WAP)绿色草坪地坪操场pbootcms网站模板该模板基于PbootCMS内核开发,专为人造草坪、地坪施工企业设计,采用绿色主题呼应行业属性,实现PC与WAP端全栈响应式适配,确保跨设备无缝浏览体验。查看源码 -
帝国CMS7.5小说推荐公众号导航带wap手机站+带采集工具本模板为小说导航类网站设计开发,基于帝国CMS7.5内核构建,针对小说阅读领域的分类聚合需求进行深度优化。通过智能分类系统和用户行为分析,实现小说资源的精准推荐与导航功能。查看源码 -
(响应式)蓝色智能摄像头安防防盗电子设备免费pbootcms源码下载这是一款针对智能安防行业特点设计的网站模板,采用蓝色系配色方案,体现科技感和安全性。模板包含产品展示、解决方案、技术支持和新闻中心等核心模块,能够全面展示智能安防设备的技术特点和行业应用。查看源码 -
(PC+WAP)高端餐饮美食小吃加盟网站模板下载pbootcms本模板基于PbootCMS内核开发,为餐饮美食品牌加盟、小吃连锁企业量身打造。通过精致的美食视觉呈现与加盟业务流程展示,帮助餐饮企业建立专业线上门户,实现品牌形象与加盟业务的双重展示。查看源码 -
(自适应)高端集团跨国公司产业联盟机构网站模板免费下载基于PbootCMS内核开发的集团级企业网站模板,采用响应式设计架构,确保在各类移动设备上获得浏览体验。通过模块化布局与简约大气的视觉风格,帮助集团企业高效展示组织架构、发展历程和业务矩阵,建立专业的企业形象窗口。查看源码 -
(自适应)幽默笑话脑筋急转弯搞笑趣图博客pbootcms模板下载本模板基于PbootCMS系统开发,专为幽默笑话、搞笑趣图类网站设计。采用轻松活泼的布局风格,突出娱乐内容分享特色,适合各类笑话、段子、搞笑图片等内容展示。查看源码
| 分享笔记 (共有 篇笔记) |
