JSUL에 하나 이상의 li가있는 경우에만 매개 변수를 전달하여 기본값을 변경하고 조건을 실행할 수 있습니까?
(function($) {
$.fn.newsfader = function(opts) {
// default configuration
var config = $.extend({}, {
fadeInTime: 800,
fadeOutTime: 800,
interval: 5600
}, opts);
// main function
function init(obj) {
var dNewsticker = obj;
var dFrame = dNewsticker.find('.js-frame');
var dItem = dFrame.find('.js-item');
var dCurrent;
var stop = false;
dItem.eq(0).addClass('current');
dItem.eq(0).show();
var move = setInterval(function(){
if(!stop){
dCurrent = dFrame.find('.current');
dCurrent.fadeOut(config.fadeOutTime, function(){
if(dCurrent.next().length !== 0){
dCurrent.removeClass('current');
dCurrent.next().addClass('current');
dCurrent.next().fadeIn(config.fadeInTime);
}
else{
dCurrent.removeClass('current');
dItem.eq(0).addClass('current');
dItem.eq(0).fadeIn(config.fadeInTime);
}
});
}
}, config.interval);
dNewsticker.on('mouseover mouseout', function(e){
if(e.type == 'mouseover'){
stop = true;
}
else{
stop = false;
}
});
}
// initialize every element
this.each(function() {
init($(this));
});
return this;
};
// start
$(function() {
$('.js-newsticker').newsfader(
//How can i make it work with the new time
//fadeInTime: 100, fadeOutTime:100
);
});
})(jQuery);
HTML
<div class="newsticker js-newsticker">
<ul class="js-frame">
<li class="js-item">Google shares top $1,000 after strong earnings.</li>
<li class="js-item">Sleep 'cleans' the brain of toxins.</li>
<li class="js-item">Amaze project aims to take 3D printing 'into metal age'.</li>
</ul>
</div>
어떻게 매개 변수를 덮어 쓸 수 있습니다. fadeInTime
을 변경하여 코드를 재사용하고 싶습니까? 만에 상태가 ul
힌트 인 경우
init
함수를 호출 할.on()
를 사용하여this
에DOMSubtreeModified
이벤트를 첨부 할 수 있습니다 (opts) {var config = $ .extend ({}, {fadeInTime : 800, ...}, opts}; ...}'- [How. $ .extend()'작동 방법] (https : // – Andreas@ guest271314 내 의견은 그에게 길을 보여줘야합니다. 그렇지 않으면 대답을 게시했을 것입니다 ... – Andreas