JQuery

1个成员

DGallery比较流行带按钮图片切换效果

发表于 2017-01-04 3339 次查看
前面讲到了三款图片切换,这里我再利用实现一款DGallery比较流行带按钮图片切换效果,有需要的同学可尝试参考。

例子的速度慢死了 我和WEBSITE MANGER 沟通下才行

写这个代码主要是因为框架 本身没有任何按钮, 想到要现在按钮图片切换还是比较流行的所以扩展了他,同时做一下 看原框架有没什么问题

代码要说的 基本上都是注释上的话

 
主要提醒下 如果未看过第一篇发表DGallery 框架文章的

可以到这里 了解框架 在这里就不多说了

没有意外的话 支持IE >=6.0, FF, chrome, safari等浏览器 基本上不是石器时代的浏览器都能用

有什么要交流的可以直接留言到下面 本人有朋友 人肉提示 我会回复的 或者觉得这个插件代码不好 什么不好用 BUG 之类的都可以交流 因为本人自学JS 而且代码规范一般与主流有所少许不同….

 代码如下 复制代码

<script type=“text/javascript” src=“../jquery.js”></script> 

<script type=“text/javascript” src=“../dgallery.js”></script> 

<script> 

function DPica(){ 

DGallery.call( this ); //继承DGallery;

var btn_container; //按钮容器;

var mybtn = new Array(); //按钮;

var self = this; 

 

//按钮与图片绑定 如果显示图片一 那么按钮一必须变色;这里用一个FOCUS 方法实现;

var focus = function( btn ){ 

for( var i = 0; i < mybtn.length; i ++ ) mybtn[i].removeClass( ‘focus’ ); 

btn.addClass( ‘focus’ ); 

 

//因为 原框架中有init函数 初始化 所以必须替换并执行他;

//opt 虽然好像没写入什么东西 但是 也是必须这样做的

//因为这个init不会自动执行 他是给jready函数 执行的

//所以opt 必须得写

this._init = this.init; 

this.init = function( opt ){ 

this._init( opt ); 

 

//this.getTtieles() 是原框架里就有的方法 这里 直接用this.方法 运行;

var title = this.getTitles(); 

//以下是创建 对象

btn_container = $(‘<ul class=“dpica-list”></ul>’).appendTo( this.getContainer() ); 

 

for( var i = 0; i < this.len(); i ++ ){ 

var t = $(‘<li>’).appendTo( btn_container ).attr( ‘index’, i ); 

var a = $(‘<a href=“javascript:void(0);”></a>’).html( title[i] != null ? title[i] : ( i + 1 ) ).appendTo( t ) 

 

//绑定个方法 当移动到按钮 则显示 目标图片 并且改变按钮颜色 (focus);

t.hover(function(){ 

var me = $(this); 

self.stop(); 

self.show( parseInt( me.attr( ‘index’ ) ) ); 

focus( me ); 

 

}, function(){ 

//离开 继续轮番;

self.play(); 

}); 

 

&
nbsp; mybtn.push( t ); 

 

//初始化 第一个按钮为focus;

focus( mybtn[0] ); 

 

//设置默认设置参数 这里可以参考 框架中的options 属性;

this.setDefault({ 

‘play’ : ‘auto’, 

‘effect’ : ‘fade’, 

‘before’ : function(){ 

//这里before 至关重要 因为当你自动播放的时候

//必须把图片与按钮同时改变

//那么 在改变图片的同时 focus 一下 按钮 这么两个将同时变化

var cur = this.getNext(); 

focus( mybtn[cur] ); 

}) 

 

//jready 这个return 是必须这样写的 请注意了;

return this.jready( arguments ); 

 

//css 还没有什么好办法处理这个东西 所以 用最原始的方法 document.write…..

//注意的是在JQuey 里面不能使用document.write 函数 所以这个不能写入我的框架的任何一部中 否则会出现报错;

document.write( ‘<style>’ ); 

document.write( ‘.dpica-list{list-style:none;position:absolute;bottom:3px;right:10px;margin:0;padding:0;z-index:999;}’ ); 

document.write( ‘.dpica-list li{float:left;}’ ); 

document.write( ‘.dpica-list li a{width:16px;height:16px;display:block;line-height:16px;text-align:center;font-family:Tahoma, Geneva, sans-serif;font-size:12px;font-weight:bold;color:#FFF;text-decoration:none;background-color:#000;margin-left:4px;}’ ); 

document.write( ‘.dpica-list li.focus a{background-color:#E91258;}’ ); 

document.write( ‘</style>’ ); 

 

//我在这里给他命名个DPica 如果您喜欢可以改其他名字就是在最上面

//调用他的方法跟 用直接调用框架的方法一样 有不明白可以看第一章发表框架文章 或者直接看源代码;

new DPica( ‘#pic7′, ’6_1.jpg|6_2.jpg|6_3.jpg|6_4.jpg|6_5.jpg|6_6.jpg’, ‘../image/’ ); 

</script> 

<body> 

<div id=“pic7″ style=“width:900px;height:400px;margin:100px auto;”></div> 

</body> 

 

发表回复
你还没有登录,请先登录注册