悬停jQuery(鼠标悬停)

悬停jQuery(鼠标悬停),jquery,text,hover,slider,pause,Jquery,Text,Hover,Slider,Pause,我四处寻找,但没有找到任何东西,请参阅下面的代码 考虑到这一点,我只需要能够在鼠标悬停时暂停动画 非常感谢您的帮助 (函数($){ $.fn.textSlider=函数(选项){ /*默认设置*/ 变量设置=$.extend( { 超时时间:2000, 幻灯片时间:750, }, 选择权 ); nextItem变种; var currentItem=0; var计数=0; 此.children('.slider项')。每个( 函数() { $(this).addClass('slide-'+(

我四处寻找,但没有找到任何东西,请参阅下面的代码

考虑到这一点,我只需要能够在鼠标悬停时暂停动画

非常感谢您的帮助

(函数($){
$.fn.textSlider=函数(选项){
/*默认设置*/
变量设置=$.extend(
{
超时时间:2000,
幻灯片时间:750,
},
选择权
);
nextItem变种;
var currentItem=0;
var计数=0;
此.children('.slider项')。每个(
函数()
{
$(this).addClass('slide-'+(count))
.css(
{
//不透明度:0,
//paddingTop:'100px',
//填充底部:“0px”
}
);
$(this.hide();
计数++;
}
);
函数firstSlide()
{
$('.slide-'+currentItem).show().animate({
//填充顶部:“0px”,填充底部:“50px”,
不透明度:1},settings.slideTime);
setTimeout(转换,settings.timeout);
}
功能转换()
{
nextItem=parseInt(当前项+1);
如果(nextItem>=计数)
nextItem=0;
$('.slide-'+currentItem)
//paddingTop:'100px',paddingBottom:'0px',
不透明度:0},settings.slideTime,函数(){
$(this.hide();
$('.slide-'+nextItem.show().animate({
//填充顶部:“0px”,填充底部:“50px”,
不透明度:1},settings.slideTime);
});
currentItem=nextItem;
setTimeout(转换,settings.timeout);
}
返回第一张幻灯片();
};
}(jQuery));
//启动文本滑块
$('.slide').textSlider({
超时:5000,
幻灯片时间:650,
循环:1
});
/*主消息和文本*/
.主要信息{
字体大小:150%;
字体大小:粗体;
垫底:20px;
左边距:20px;
}
.正文{
字体大小:110%;
左边距:20px;
}

测试1
此处的子文本1
测试2
此处的子文本2
测试3
此处的子文本3

默认情况下,jQuery不支持暂停动画,但是,像往常一样,有一个用于暂停动画的插件:

默认情况下,jQuery不支持暂停动画,但像往常一样,有一个用于暂停动画的插件:

函数转换()中,{…您可以在开头添加:

// if mouse is hover element call again the settimeout...
if ($('.slide-' + currentItem + ':hover').length != 0) {
    setTimeout(transition, settings.timeout);
    return;
}
可以基于不同的解决方案,添加以下事件处理程序:

this.children('.slider-item').hover(
        function (e) {
            $(this).addClass('hover');
        },
        function (e) {
            $(this).removeClass('hover');
        }
);
因此,将第一个建议的代码更改为:

// if element has hover class call again the settimeout...
if ($('.slide-' + currentItem + '.hover').length != 0) {
    setTimeout(transition, settings.timeout);
    return;
}
片段:

(函数($){
$.fn.textSlider=函数(选项){
/*默认设置*/
变量设置=$.extend(
{
超时时间:2000,
幻灯片时间:750,
},
选择权
);
nextItem变种;
var currentItem=0;
var计数=0;
此.children('.slider项')。每个(函数(){
$(this.addClass('幻灯片-'+(计数))
.css({
//不透明度:0,
//paddingTop:'100px',
//填充底部:“0px”
}
);
$(this.hide();
计数++;
}
);
此.children('.slider项').hover(
职能(e){
$(this.addClass('hover');
},
职能(e){
$(this.removeClass('hover');
}
);
函数firstSlide(){
$('.slide-'+currentItem).show().animate({
//填充顶部:“0px”,填充底部:“50px”,
不透明度:1
},settings.slideTime);
setTimeout(转换、设置、超时);
}
函数转换(){
如果($('.slide-'+currentItem+'.hover')。长度!=0){
setTimeout(转换、设置、超时);
返回;
}
nextItem=parseInt(当前项+1);
如果(nextItem>=计数)
nextItem=0;
$('.slide-'+currentItem).设置动画({
//paddingTop:'100px',paddingBottom:'0px',
不透明度:0
},settings.slideTime,函数(){
$(this.hide();
$('.slide-'+nextItem.show().animate({
//填充顶部:“0px”,填充底部:“50px”,
不透明度:1
},settings.slideTime);
});
currentItem=nextItem;
setTimeout(转换、设置、超时);
}
返回firstSlide();
};
}(jQuery));
//启动文本滑块
$('.slide').textSlider({
超时:1000,
幻灯片时间:350,
循环:1
});
.main消息{
字体大小:150%;
字体大小:粗体;
垫底:20px;
左边距:20px;
}
.正文{
字体大小:110%;
左边距:20px;
}

测试1
此处的子文本1
测试2
此处的子文本2
测试3
此处的子文本3

在您的函数转换(){…中,您可以在开头添加:

// if mouse is hover element call again the settimeout...
if ($('.slide-' + currentItem + ':hover').length != 0) {
    setTimeout(transition, settings.timeout);
    return;
}
可以基于不同的解决方案,添加以下事件处理程序:

this.children('.slider-item').hover(
        function (e) {
            $(this).addClass('hover');
        },
        function (e) {
            $(this).removeClass('hover');
        }
);
因此,将第一个建议的代码更改为:

// if element has hover class call again the settimeout...
if ($('.slide-' + currentItem + '.hover').length != 0) {
    setTimeout(transition, settings.timeout);
    return;
}
片段:

(函数($){
$.fn.textSlider=函数(选项){
/*默认设置*/
变量设置=$.extend(
{
超时时间:2000,
幻灯片时间:750,
},
选择权
);
nextItem变种;
var currentItem=0;
var计数=0;
此.children('.slider项')。每个(函数(){
$(this.addClass('幻灯片-'+(计数))
.css({
//不透明度:0,
//paddingTop:'100px',