首页 > return false阻止a链接跳转的问题

return false阻止a链接跳转的问题

一个展开效果,如图

    $(document).ready(function(){
        var $category = $("ul li:gt(5):not(:last)");
        $category.hide();

        var $showMoreBtn = $("div.showMore > a");
        $showMoreBtn.click(function(){
            if ($category.is(":visible")) {
                $category.hide();
                $(this).find("span")
                    .css("background",url("url(../img/2.6/more_bg.png) no-repeat 0 0px"))
                    .text("显示全部品牌");
                $("ul li").removeClass("promoted");
            }else{
                $category.show();
                $(this).find("span") //在showMoreBtn这个对象本身里面找到span标签
                    .css("background","url(../img/2.6/more_bg.png) no-repeat 0 -13px")
                    .text("精简显示品牌");
                $(".SubCategoryBox ul li a")
                    .filter(":contains('佳能'), :contains('尼康'), :contains('奥林巴斯')")
                    .addClass("promoted");
            }
            return false; //让超链接不会跳转到more.html上
        })
    })
<body>
    <div class="SubCategoryBox">
        <ul>
            <li><a href="#">佳能</a></li>
            <li><a href="#">索尼</a></li></li>
            <li><a href="#">三星</a></li>
            <li><a href="#">尼康</a></li>
            <li><a href="#">松下</a></li>
            <li><a href="#">卡西欧</a></li>
            <li><a href="#">富士</a></li>
            <li><a href="#">柯达</a></li>
            <li><a href="#">宾得</a></li>
            <li><a href="#">理光</a></li>
            <li><a href="#">奥林巴斯</a></li>
            <li><a href="#">明基</a></li>
            <li><a href="#">爱国者</a></li>
            <li><a href="#">其他品牌相机</a></li>
        </ul>
        <div class="showMore">
            <a href="more.html"><span>显示全部品牌</span></a>
        </div>
    </div>
</body>

return false能阻止阻止显示全部品牌时不跳转,但是收起全部品牌时就跳转了。这是什么情况?


多了一个未定义的 url( 导致函数出错。


1)首先你要把click回调中的所有代码,注释掉,只保留return false,看是否正常
2)看浏览器控制台是否有错误提示

似乎$(this).find("span").css("background",url("url(../img/2.6/more_bg.png) no-repeat 0 0px")).text("显示全部品牌"); 这个有问题哦

【热门文章】
【热门文章】