-
Notifications
You must be signed in to change notification settings - Fork 0
/
simple_slider.js
74 lines (66 loc) · 2.58 KB
/
simple_slider.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
(function( $ ){
$.fn.simpleSlider = function( options ) {
var settings = $.extend( {
'hd_time' : 500,
'hd_slide_shown' : 1,
'easing' : 'easeOutCubic'
}, options);
return this.each(function() {
window.ss_slider_x = 0;
slider = $(this);
slider.find('>div').wrap('<div class="simple_slider_item" /></div>');
slider.addClass('simple_slider').wrapInner('<div class="simple_slider_inner" />').wrapInner('<div class="simple_slider_wrap" />').append('<a class="controll_arrow left_arrow"></a><a class="controll_arrow right_arrow"></a><div class="ss_slider_clear"></div>');
slider_values(slider);
hd_wrap.width(hd_lenght*hd_step);
hd_left.click(left_click);
hd_right.click(right_click);
});
function slider_values(slider){
hd_left = slider.find('.left_arrow');
hd_right = slider.find('.right_arrow');
hd_wrap = slider.find('.simple_slider_inner');
hd_item = hd_wrap.find('.simple_slider_item');
hd_max_step = settings.hd_slide_shown;
hd_lenght = hd_item.length;
hd_time = settings.hd_time;
hd_step = hd_item.width() + parseInt(hd_item.css('margin-left')) + parseInt(hd_item.css('margin-right'));
easing = settings.easing;
}
function right_click(){
slider_values($(this).parents('.simple_slider'));
if(ss_slider_x == 0){
ss_slider_x=1;
if( -parseInt(hd_wrap.css('margin-left')) == hd_step *(hd_lenght - hd_max_step)){
hd_wrap.animate({'margin-left': '-='+30},parseInt(hd_time/3),easing,function(){hd_wrap.animate({'margin-left': '+='+30},parseInt(hd_time/3),easing)});
}else{
cur_marg = parseInt(hd_wrap.css('margin-left'));
if( cur_marg -( hd_step * hd_max_step) > -(hd_step * hd_lenght - hd_step * hd_max_step) ){
marg = '-='+hd_step * hd_max_step;
}else{
marg = -(hd_step * hd_lenght - hd_step * hd_max_step)
}
hd_wrap.animate({'margin-left': marg},hd_time,easing);
}
setTimeout(function(){ss_slider_x = 0}, hd_time);
}
};
function left_click(){
slider_values($(this).parents('.simple_slider'));
if(ss_slider_x == 0){
ss_slider_x=1;
if(parseInt(hd_wrap.css('margin-left')) == 0){
hd_wrap.animate({'margin-left': '+='+30},parseInt(hd_time/3),easing,function(){hd_wrap.animate({'margin-left': '-='+30},parseInt(hd_time/3),easing)});
}else{
cur_marg = parseInt(hd_wrap.css('margin-left'));
if( cur_marg +( hd_step * hd_max_step) < 0 ){
marg = '+='+hd_step * hd_max_step;
}else{
marg = 0;
}
hd_wrap.animate({'margin-left': marg},hd_time,easing);
}
setTimeout(function(){ss_slider_x = 0}, hd_time);
}
};
};
})( jQuery );