如何使用按钮而不是悬停来运行此javascript代码?
我正在为一个站点使用dev7studios lean slider,我想知道是否有人可以帮助n00b修改以下javascript,以使用实际的暂停/播放按钮,而不是默认的“悬停时暂停”功能如何使用按钮而不是悬停来运行此javascript代码?,javascript,jquery,button,Javascript,Jquery,Button,我正在为一个站点使用dev7studios lean slider,我想知道是否有人可以帮助n00b修改以下javascript,以使用实际的暂停/播放按钮,而不是默认的“悬停时暂停”功能 if(settings.pauseOnHover && settings.pauseTime && settings.pauseTime > 0){ slider.hover( function () { clearTime
if(settings.pauseOnHover && settings.pauseTime && settings.pauseTime > 0){
slider.hover(
function () {
clearTimeout(timer);
},
function () {
doTimer();
}
);
}
提前谢谢
/*
* Lean Slider v1.0.1
* http://dev7studios.com/lean-slider
*
* Copyright 2012, Dev7studios
* Free to use and abuse under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
*/
;(function($) {
$.fn.leanSlider = function(options) {
// Set up plugin vars
var plugin = this,
settings = {},
slider = $(this),
slides = slider.children(),
currentSlide = 0,
timer = 0;
var init = function() {
// Set up settings
settings = $.extend({}, $.fn.leanSlider.defaults, options);
// Add inital classes
slider.addClass('lean-slider');
slides.addClass('lean-slider-slide');
currentSlide = settings.startSlide;
if(settings.startSlide < 0 || settings.startSlide >= slides.length) currentSlide = 0;
$(slides[currentSlide]).addClass('current');
// Set up directionNav
if(settings.directionNav && $(settings.directionNav).length){
var prevNav = $('<a href="#" class="lean-slider-prev">'+ settings.prevText +'</a>'),
nextNav = $('<a href="#" class="lean-slider-next">'+ settings.nextText +'</a>');
if(settings.directionNavPrevBuilder) prevNav = $(settings.directionNavPrevBuilder.call(this, settings.prevText));
if(settings.directionNavNextBuilder) nextNav = $(settings.directionNavNextBuilder.call(this, settings.nextText));
prevNav.on('click', function(e){
e.preventDefault();
plugin.prev();
});
nextNav.on('click', function(e){
e.preventDefault();
plugin.next();
});
$(settings.directionNav).append(prevNav);
$(settings.directionNav).append(nextNav);
}
// Set up controlNav
if(settings.controlNav && $(settings.controlNav).length){
slides.each(function(i){
var controlNav = $('<a href="#" class="lean-slider-control-nav">'+ (i + 1) +'</a>');
if(settings.controlNavBuilder) controlNav = $(settings.controlNavBuilder.call(this, i, $(slides[i])));
controlNav.on('click', function(e){
e.preventDefault();
plugin.show(i);
});
$(settings.controlNav).append(controlNav);
});
}
// Set up pauseOnHover
if(settings.pauseOnHover && settings.pauseTime && settings.pauseTime > 0){
slider.hover(
function () {
clearTimeout(timer);
},
function () {
doTimer();
}
);
}
// Initial processing
updateControlNav();
doTimer();
// Trigger the afterLoad callback
settings.afterLoad.call(this);
return plugin;
};
// Process timer
var doTimer = function(){
if(settings.pauseTime && settings.pauseTime > 0){
clearTimeout(timer);
timer = setTimeout(function(){ plugin.next(); }, settings.pauseTime);
}
};
// Update controlNav
var updateControlNav = function(){
if(settings.controlNav){
$('.lean-slider-control-nav', settings.controlNav).removeClass('active');
$($('.lean-slider-control-nav', settings.controlNav).get(currentSlide)).addClass('active');
}
};
// Prev
plugin.prev = function(){
// Trigger the beforeChange callback
settings.beforeChange.call(this, currentSlide);
currentSlide--;
if(currentSlide < 0) currentSlide = slides.length - 1;
slides.removeClass('current');
$(slides[currentSlide]).addClass('current');
updateControlNav();
doTimer();
// Trigger the afterChange callback
settings.afterChange.call(this, currentSlide);
};
// Next
plugin.next = function(){
// Trigger the beforeChange callback
settings.beforeChange.call(this, currentSlide);
currentSlide++;
if(currentSlide >= slides.length) currentSlide = 0;
slides.removeClass('current');
$(slides[currentSlide]).addClass('current');
updateControlNav();
doTimer();
// Trigger the afterChange callback
settings.afterChange.call(this, currentSlide);
};
// Show
plugin.show = function(index){
// Trigger the beforeChange callback
settings.beforeChange.call(this, currentSlide);
currentSlide = index;
if(currentSlide < 0) currentSlide = slides.length - 1;
if(currentSlide >= slides.length) currentSlide = 0;
slides.removeClass('current');
$(slides[currentSlide]).addClass('current');
updateControlNav();
doTimer();
// Trigger the afterChange callback
settings.afterChange.call(this, currentSlide);
};
// Call constructor
return init();
};
// Defaults
$.fn.leanSlider.defaults = {
pauseTime: 4000,
pauseOnHover: true,
startSlide: 0,
directionNav: '',
directionNavPrevBuilder: '',
directionNavNextBuilder: '',
controlNav: '',
controlNavBuilder: '',
prevText: 'Prev',
nextText: 'Next',
beforeChange: function(){},
afterChange: function(){},
afterLoad: function(){}
};
})(jQuery);
/*
*倾斜滑块v1.0.1
* http://dev7studios.com/lean-slider
*
*版权所有2012,Dev7studios
*根据麻省理工学院许可证,可自由使用和滥用。
* http://www.opensource.org/licenses/mit-license.php
*/
;(函数($){
$.fn.leanSlaider=函数(选项){
//设置插件变量
var plugin=this,
设置={},
滑块=$(此),
slides=slider.children(),
currentSlide=0,
定时器=0;
var init=函数(){
//设置设置
设置=$.extend({},$.fn.leansloider.defaults,options);
//添加初始类
slider.addClass('lean-slider');
slides.addClass('lean-slider-slide');
currentSlide=settings.startSlide;
如果(settings.startSlide<0 | | settings.startSlide>=slides.length)currentSlide=0;
$(幻灯片[currentSlide]).addClass(“当前”);
//设置方向导航
if(settings.directionNav&&$(settings.directionNav.length){
var prevNav=$(''),
nextNav=$('');
if(settings.directionNavPrevBuilder)prevNav=$(settings.directionNavPrevBuilder.call(this,settings.prevText));
if(settings.directionNavNextBuilder)nextNav=$(settings.directionNavNextBuilder.call(this,settings.nextText));
前置导航打开('点击',功能(e){
e、 预防默认值();
plugin.prev();
});
下一个“点击”功能(e){
e、 预防默认值();
plugin.next();
});
$(settings.directionNav).append(prevNav);
$(settings.directionNav).append(nextNav);
}
//设置控制导航
if(settings.controlNav&&$(settings.controlNav.length){
幻灯片。每个(功能(i){
var controlNav=$('');
if(settings.controlNavBuilder)controlNav=$(settings.controlNavBuilder.call(this,i,$(slides[i]));
控制导航打开('点击',功能(e){
e、 预防默认值();
plugin.show(i);
});
$(settings.controlNav).append(controlNav);
});
}
//设置暂停悬停
如果(settings.pauseonhave&&settings.pauseTime&&settings.pauseTime>0){
鼠标悬停(
函数(){
清除超时(计时器);
},
函数(){
多蒂默();
}
);
}
//初始处理
updateControlNav();
多蒂默();
//触发后加载回调
设置。后加载。调用(此);
返回插件;
};
//进程计时器
var doTimer=函数(){
如果(settings.pauseTime&&settings.pauseTime>0){
清除超时(计时器);
timer=setTimeout(函数(){plugin.next();},settings.pauseTime);
}
};
//更新控制导航
var updateControlNav=函数(){
if(设置.控制导航){
$('.lean slider control nav',settings.controlNav).removeClass('active');
$($('.lean slider control nav',settings.controlNav.get(currentSlide)).addClass('active');
}
};
//上
plugin.prev=函数(){
//触发beforeChange回调
设置.beforeChange.call(此,当前幻灯片);
当前幻灯片--;
如果(currentSlide<0)currentSlide=slides.length-1;
slides.removeClass('current');
$(幻灯片[currentSlide]).addClass(“当前”);
updateControlNav();
多蒂默();
//触发afterChange回调
设置.afterChange.call(此,当前幻灯片);
};
//下一个
plugin.next=函数(){
//触发beforeChange回调
设置.beforeChange.call(此,当前幻灯片);
currentSlide++;
如果(currentSlide>=slides.length)currentSlide=0;
slides.removeClass('current');
$(幻灯片[currentSlide]).addClass(“当前”);
updateControlNav();
多蒂默();
//触发afterChange回调
设置.afterChange.call(此,当前幻灯片);
};
//展示
plugin.show=函数(索引){
//触发beforeChange回调
设置.beforeChange.call(此,当前幻灯片);
当前幻灯片=索引;
如果(currentSlide<0)currentSlide=slides.length-1;
如果(currentSlide>=slides.length)currentSlide=0;
slides.removeClass('current');
$(幻灯片[currentSlide]).addClass(“当前”);
updateControlNav();
多蒂默();
//触发afterChange回调
设置.afterChange.call(此,当前幻灯片);
};
//调用构造函数
返回init();
};
//默认值
$.fn.leansloider.defaults={
暂停时间:4000,
pauseOnHover:是的,
开始滑动:0,
方向导航:“”,
方向导航生成器:“”,
directionNavNextBuilder:“”,
控制导航:“”,
controlNavBuilder:“”,
prevText:“Prev”,
下一步:“下一步”,
beforeChange:函数(){},
afterChange:function(){},