搜索
javascript - return false阻止a链接跳转的问题
阿神
阿神 2017-04-10 16:32:54
[JavaScript讨论组]

一个展开效果,如图

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

        var $showMoreBtn = $("p.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>
    <p 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>
        <p class="showMore">
            <a href="more.html"><span>显示全部品牌</span></a>
        </p>
    </p>
</body>

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

阿神
阿神

闭关修行中......

全部回复(2)
伊谢尔伦

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

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

PHP中文网

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号