jQuery检查开始触发前的悬停状态

前端之家收集整理的这篇文章主要介绍了jQuery检查开始触发前的悬停状态前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我用jquery创建一个小滑块插件.当鼠标位于左侧或右侧控制区域上方时,图像将从左侧或右侧滑动5%.点击图片滑入100%

问题是当在完全幻灯片中从左到右控制div时移动鼠标时,请检查鼠标是否总是在左侧div上再次触发鼠标悬停事件.结果是左侧和右侧的图像显示为5%.

有没有办法像这样检查鼠标悬停?

if($(this).mouSEOver())
$(".right").trigger("mouSEOver");

控制器div的代码看起来像这样

$(".right",this).bind({
            mouSEOver:function(){
                if( vars.current == $("img").length-1 || vars.running) return false;
                $("img:eq("+(vars.current+1)+")").removeAttr("style").css({position:"absolute",left:"100%","z-index":vars.current+1}).show().animate({left:"95%"},{queue: false})
            },mouseleave:function(){
                if( vars.current == $("img").length-1 || vars.running) return false;
                $("img:eq("+(vars.current+1)+")").animate({left:"100%"},{queue: false,complete:function(){ $(this).hide() } });
            },click:function(){
                if( vars.current == $("img").length-1 || vars.running) return false;
                vars.running = true;
                $("img:eq("+(vars.current+1)+")").animate({left:"0%"},complete:function(){ 
                    $("img:eq("+vars.current+")").hide(); 
                    $(this).css({"z-index":0})
                    vars.current++;
                    vars.running = false;
                    if($(this).mouSEOver())
                    $(".right").trigger("mouSEOver");
                } } );
            }
        })

我用其他答案的方式……但它的删除….

mouSEOver:function(){
                isOver = 'right';
                if( vars.current == $("img").length-1 || vars.running) return false;
                $("img:eq("+(vars.current+1)+")").removeAttr("style").css({position:"absolute",mouseleave:function(){
                isOver = false
                if( vars.current == $("img").length-1 || vars.running) return false;
                $("img:eq("+(vars.current+1)+")").animate({left:"100%"},complete:function(){ 
                    $("img:eq("+vars.current+")").hide(); 
                    $(this).css({"z-index":0})
                    vars.current++;
                    vars.running = false;
                    if(isOver)
                    $("."+isOver).trigger("mouSEOver");
                } } );
            }

通过使用var isOver我可以触发向左或向右

解决方法

要检查是否有东西悬停,可以使用:hover选择器,例如:
$('#test').click(function() {
    if ($('#hello').is(':hover')) {
        alert('hello');
    }
});

示例:http://jsfiddle.net/AyAZx/5/

猜你在找的jQuery相关文章