如果元素可见,则停止div向上滑动

时间:2012-10-18 00:47:09

标签: jquery slideup

好的,这就是我的问题: 我需要顶部div只在 mediaPlayerWrapper 存在时向上/向下滑动,而不是在 content_text 存在时滑动。 两者都是使用Ajax和php创建的,一次只存在一个。 根据我的代码,它在 mediaPlayerWrapper 中运行良好,但不幸的是它仍然在 content_text 中滑动。任何想法?

$(document).ready(function(){

    $("#main_content").ajaxStop(function(){

        if ($("#content_text").length){ 
        }

        else if($("#mediaPlayerWrapper").length){// Slide top and bottom bars when video wrapper is displayed
            $("#top").slideUp(2000); //slide up(hide) DIV's


                var timer;

                $('html').mousemove(function(e) { //slide(show) DIV's down on mouse move
                    if(window.lastX !== e.clientX || window.lastY !== e.clientY){   //Check to see if mouse has moved before running code
                        $('#top').slideDown(2000);                      


                        clearTimeout(timer);
                        timer = setTimeout(function(){
                                            $('#top').slideUp(2000)//<--- this is the line that is causing the problem
                                                }, 5000);//slide back up after 5 seconds
                        }

                        window.lastX = e.clientX //stores the current x coordinate
                        window.lastY = e.clientY // stores the current y coordinate
                    }); 
        }

    }); 
抱歉,我无法提供小提琴或链接到该网站。     });

1 个答案:

答案 0 :(得分:0)

如果由于某种原因长度不适合你,你总是可以使用'.addClass()'来添加类似'is_shown'的东西,然后使用'.hasClass('is_shown')'来检查它。使用此方法,您可能需要使用ajax函数添加或删除DOM的其他父/包装器。