init:origin
This commit is contained in:
156
assets/js/new_file.js
Normal file
156
assets/js/new_file.js
Normal file
@@ -0,0 +1,156 @@
|
||||
(function($) {
|
||||
$.fn.Slide = function(options) {
|
||||
var opts = $.extend({},
|
||||
$.fn.Slide.deflunt, options);
|
||||
var index = 1;
|
||||
var targetLi = $("." + opts.claNav + " li", $(this));
|
||||
var clickNext = $("." + opts.claNav + " .next", $(this));
|
||||
var clickPrev = $("." + opts.claNav + " .prev", $(this));
|
||||
var ContentBox = $("." + opts.claCon, $(this));
|
||||
var ContentBoxNum = ContentBox.children().size();
|
||||
var slideH = ContentBox.children().first().height();
|
||||
var slideW = ContentBox.children().first().width();
|
||||
var autoPlay;
|
||||
var slideWH;
|
||||
if (opts.effect == "scroolY" || opts.effect == "scroolTxt") {
|
||||
slideWH = slideH;
|
||||
} else if (opts.effect == "scroolX" || opts.effect == "scroolLoop") {
|
||||
ContentBox.css("width", ContentBoxNum * slideW);
|
||||
slideWH = slideW;
|
||||
} else if (opts.effect == "fade") {
|
||||
ContentBox.children().first().css("z-index", "1");
|
||||
}
|
||||
return this.each(function() {
|
||||
var $this = $(this);
|
||||
var doPlay = function() {
|
||||
$.fn.Slide.effect[opts.effect](ContentBox, targetLi, index, slideWH, opts);
|
||||
index++;
|
||||
if (index * opts.steps >= ContentBoxNum) {
|
||||
index = 0;
|
||||
}
|
||||
};
|
||||
clickNext.click(function(event) {
|
||||
$.fn.Slide.effectLoop.scroolLeft(ContentBox, targetLi, index, slideWH, opts,
|
||||
function() {
|
||||
for (var i = 0; i < opts.steps; i++) {
|
||||
ContentBox.find("li:first", $this).appendTo(ContentBox);
|
||||
}
|
||||
ContentBox.css({
|
||||
"left": "0"
|
||||
});
|
||||
});
|
||||
event.preventDefault();
|
||||
});
|
||||
clickPrev.click(function(event) {
|
||||
for (var i = 0; i < opts.steps; i++) {
|
||||
ContentBox.find("li:last").prependTo(ContentBox);
|
||||
}
|
||||
ContentBox.css({
|
||||
"left": -index * opts.steps * slideW
|
||||
});
|
||||
$.fn.Slide.effectLoop.scroolRight(ContentBox, targetLi, index, slideWH, opts);
|
||||
event.preventDefault();
|
||||
});
|
||||
if (opts.autoPlay) {
|
||||
autoPlay = setInterval(doPlay, opts.timer);
|
||||
ContentBox.hover(function() {
|
||||
if (autoPlay) {
|
||||
clearInterval(autoPlay);
|
||||
}
|
||||
},
|
||||
function() {
|
||||
if (autoPlay) {
|
||||
clearInterval(autoPlay);
|
||||
}
|
||||
autoPlay = setInterval(doPlay, opts.timer);
|
||||
if ($("#Html5Video").attr('_isplaying')) {
|
||||
clearInterval(autoPlay);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
targetLi.click(function() {
|
||||
index = targetLi.index(this);
|
||||
window.setTimeout(function() {
|
||||
$.fn.Slide.effect[opts.effect](ContentBox, targetLi, index, slideWH, opts);
|
||||
},
|
||||
10);
|
||||
});
|
||||
});
|
||||
};
|
||||
$.fn.Slide.deflunt = {
|
||||
effect: "scroolY",
|
||||
autoPlay: true,
|
||||
speed: "normal",
|
||||
timer: 1000,
|
||||
defIndex: 0,
|
||||
claNav: "bannermenu",
|
||||
claCon: "caseul",
|
||||
steps: 1
|
||||
};
|
||||
$.fn.Slide.effectLoop = {
|
||||
scroolLeft: function(contentObj, navObj, i, slideW, opts, callback) {
|
||||
contentObj.animate({
|
||||
"left": -i * opts.steps * slideW
|
||||
},
|
||||
opts.speed, callback);
|
||||
if (navObj) {
|
||||
navObj.eq(i).addClass("on").siblings().removeClass("on");
|
||||
}
|
||||
},
|
||||
scroolRight: function(contentObj, navObj, i, slideW, opts, callback) {
|
||||
contentObj.stop().animate({
|
||||
"left": 0
|
||||
},
|
||||
opts.speed, callback);
|
||||
}
|
||||
}
|
||||
$.fn.Slide.effect = {
|
||||
fade: function(contentObj, navObj, i, slideW, opts) {
|
||||
contentObj.children().eq(i).stop().animate({
|
||||
opacity: 1
|
||||
},
|
||||
opts.speed).css({
|
||||
"z-index": "1"
|
||||
}).siblings().animate({
|
||||
opacity: 0
|
||||
},
|
||||
opts.speed).css({
|
||||
"z-index": "0"
|
||||
});
|
||||
navObj.eq(i).addClass("on").siblings().removeClass("on");
|
||||
},
|
||||
scroolTxt: function(contentObj, undefined, i, slideH, opts) {
|
||||
contentObj.animate({
|
||||
"margin-top": -opts.steps * slideH
|
||||
},
|
||||
opts.speed,
|
||||
function() {
|
||||
for (var j = 0; j < opts.steps; j++) {
|
||||
contentObj.find("li:first").appendTo(contentObj);
|
||||
}
|
||||
contentObj.css({
|
||||
"margin-top": "0"
|
||||
});
|
||||
});
|
||||
},
|
||||
scroolX: function(contentObj, navObj, i, slideW, opts, callback) {
|
||||
contentObj.stop().animate({
|
||||
"left": -i * opts.steps * slideW
|
||||
},
|
||||
opts.speed, callback);
|
||||
if (navObj) {
|
||||
navObj.eq(i).addClass("on").siblings().removeClass("on");
|
||||
}
|
||||
},
|
||||
scroolY: function(contentObj, navObj, i, slideH, opts) {
|
||||
contentObj.stop().animate({
|
||||
"top": -i * opts.steps * slideH
|
||||
},
|
||||
opts.speed);
|
||||
if (navObj) {
|
||||
navObj.eq(i).addClass("on").siblings().removeClass("on");
|
||||
}
|
||||
}
|
||||
};
|
||||
})(jQuery);
|
||||
Reference in New Issue
Block a user