$(function () {
    var len = $(".num > li").length;
    var index = 0;
    var adTimer;
    $(".num li").mouseover(function () {
        index = $(".num li").index(this);
        showImg(index);
    }).eq(0).mouseover();
    //滑入 停止动画,滑出开始动画.
    $('.ad').hover(function () {
        clearInterval(adTimer);
    }, function () {
        adTimer = setInterval(function () {
            showImg(index)
            index++;
            if (index == len) { index = 0; }
        }, waitTime);
    }).trigger("mouseleave");
})
// 通过控制top ,来显示不同的图片
function showImg(index) {
    var adHeight = $(".content_right .ad").height();
    $(".slider img").hide();
    $(".slider").animate({ bottom: -adHeight * index }, 0);
    $(".slider img").fadeIn("slow");
    $(".num li").removeClass("on")
.eq(index).addClass("on");
}这个是一个广告轮换的JS  但是现在有个小问题解决不了       当每次点击数字按钮之后   在一次轮换图片的时候  等待时间大概长出一倍  例如现在设置的轮换时间 为2秒    但是当鼠标悬浮在数字按钮上  离开之后 等待时间会变成4秒  而且本身会多出现一次渐入的效果     该如何的更改这段代码能够避免这个问题啊???

解决方案 »

  1.   

    判断下,如果你要hover的图片是正在显示的图片,hover事件不执行就ok了
      

  2.   

    给个思路  是该如何的判断    $(".num li").index(this)!= index  我用这样判断的时候  不对    判断不了哇   你是说 判断的数字 跟index 比较 还是怎么着? 
      

  3.   

     <div class="content_right">
                    <div class="ad" >
                        <ul class="slider" >
                            <%
                                //实现广告的效果   动态的生成页面上广告图
                               List<Bean.ProductAD> list= getProduct();
                                 string src = string.Empty;
                                string url = string.Empty;
                                for(int i=0 ; i< list.Count; i++)
                                {
                                    
                                    src = list[i].PicSrc;
                                    url = list[i].URL;   
                                    %>
                                    <li><a href="<%=url %>"><img src="<%=src %>"/></a></li>
                               <% }
                                   %>                    </ul>
                        <ul class="num" >
                            <%
                                for (int i = 0; i < list.Count; i++)
                                { 
                                    %><li><%=i+1 %></li><%
                                }
                                 %>
                        </ul>
                    </div>