为了账号安全,请及时绑定邮箱和手机立即绑定

请问大神我把隐藏的内容 和 a标签 再上面var 声明了怎么就实现不了功能了

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">

        var toggler=document.getElementById("strHref");//开关
        var hpn=document.getElementById("hpn");//隐藏的内容
        function showdiv() {//展开函数
            hpn.style.display="block";
            toggler.href="javascript:hidediv();";
            toggler.innerHTML="关闭";
            
            
        }
        function hidediv() {//收起函数
           hpn.style.display="none";
           toggler.href="javascript:showdiv();";
           toggler.innerHTML="展开";
           
           
        }

    </script>
</head>
<body>
    <div id="pn">
        <p>手机 - 商品筛选</p>
        <p>网络:移动4G 联通3G 电信3G</p>
        <div id="hpn" style="display: none">
            <p>价格:5000元以上 4000-4999 3000元以下</p>
            <p>特点:0元购机 防水 长待机</p>
        </div>
    </div>
    <p class="slide">
        <a href="javascript:showdiv();" id="strHref" class="btn-slide">展开</a>    <!--点击按钮-->
    </p>
</body>
</html>


正在回答

2 回答

变量作用域问题,var声明的变量是局部变量。

0 回复 有任何疑惑可以回复我~
#1

红衣々主教 提问者

那这里如何使用全局变量,
2016-10-24 回复 有任何疑惑可以回复我~
#2

手机用户曾小乱 回复 红衣々主教 提问者

去掉var
2016-10-24 回复 有任何疑惑可以回复我~
#3

红衣々主教 提问者

非常感谢!
2016-10-24 回复 有任何疑惑可以回复我~

楼上的回答有错,因为javascript的执行顺序是:顺序执行,此时

var toggler=document.getElementById("strHref");//开关

 var hpn=document.getElementById("hpn");//隐藏的内容

获取的是不存在的元素。

应该写成等文档加载完成后在使用方法或者把〈script〉写在元素后面。

    <script type="text/javascript">

window.onload=function(){

    var hpn=document.getElementById('hpn');

    var strHref=document.getElementById('strHref');

    

    function showdiv(){

         hpn.style.display='block';

         strHref.innerHTML='收起-';

         strHref.href='javascript:hidediv()';

    }

    function hidediv(){

         hpn.style.display='none';;

         strHref.innerHTML='展开+';

         strHref.href='javascript:showdiv()';

    }

}

    </script>


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
展开与收起效果
  • 参与学习       33641    人
  • 解答问题       179    个

通过效果展示与案例分析,教您实现不同类型的展开与收起效果

进入课程

请问大神我把隐藏的内容 和 a标签 再上面var 声明了怎么就实现不了功能了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信