老师,我想实现鼠标经过楼层导航时显示相应楼层的文字,该怎么做?

老师,我想实现鼠标经过楼层导航时显示相应楼层的文字,该怎么做?

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
*{margin:0;padding:0;}
.floor-nav{position: fixed;left: 100px;top:50%;margin-top: -115px;}
.floor-nav p{width:30px;height: 45px;line-height: 45px;text-align:center;border-top: 1px solid gray;color: gray;font-size: 12px;cursor: pointer;}
.floor-nav p:hover{color: red}
</style>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
function showWord(floorIndex){
		switch(floorIndex)
		{
			case 0:$(this).text("鞋包");break;
			case 1:$(this).text("美妆");break;
			case 2:$(this).text("手机");break;
			case 3:$(this).text("家电");break;
			case 4:$(this).text("数码");
		}
	}
	function showFloor(floorIndex){
		switch(floorIndex)
		{
			case 0:$(this).text("1F");break;
			case 1:$(this).text("2F");break;
			case 2:$(this).text("3F");break;
			case 3:$(this).text("4F");break;
			case 4:$(this).text("5F");
		}
	}
	$(".floor-nav p").hover(function(){
		showWord($(this).index());
	},function(){
		showFloor($(this).index());
	});
</script>
</head>
<body>
   <div class="floor-nav">
        <p>1F</p>
        <p>2F</p>
        <p>3F</p>
        <p>4F</p>
        <p>5F</p>
    </div>
</body>
</html>


正在回答

登陆购买课程后可参与讨论,去登陆

2回答


<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Document</title>

<style type="text/css">

*{margin:0;padding:0;}

.floor-nav{position: fixed;left: 100px;top:50%;margin-top: -115px;}

.floor-nav p{width:30px;height: 45px;line-height: 45px;text-align:center;border-top: 1px solid gray;color: gray;font-size: 12px;cursor: pointer;}

.floor-nav p:hover{color: red}

</style>

<script src="./jquery-1.12.4.js"></script>

</head>

<body>

   <div class="floor-nav">

        <p>1F</p>

        <p>2F</p>

        <p>3F</p>

        <p>4F</p>

        <p>5F</p>

    </div>

</body>

<script type="text/javascript">

function showWord(floorIndex){

        switch(floorIndex)

        {

            case 0:$('p').eq(0).text("鞋包");break;

            case 1:$('p').eq(1).text("美妆");break;

            case 2:$('p').eq(2).text("手机");break;

            case 3:$('p').eq(3).text("家电");break;

            case 4:$('p').eq(4).text("数码");

        }

    }

    function showFloor(floorIndex){

        switch(floorIndex)

        {

            case 0:$('p').eq(0).text("1F");break;

            case 1:$('p').eq(1).text("2F");break;

            case 2:$('p').eq(2).text("3F");break;

            case 3:$('p').eq(3).text("4F");break;

            case 4:$('p').eq(4).text("5F");

        }

    }

    $(".floor-nav p").hover(function(){

        var index=$(this).index();

        showWord(index)

    },function(){

         var index=$(this).index();

        showFloor(index);

    });

</script>

</html>


  • coollin 提问者 #1
    老师 我还想实现鼠标点击楼层导航时,显示楼层的文字 $(".floor-nav p").click(function(){ var offset=$(".floor-head").eq($(this).index()).offset().top; $(document).scrollTop(offset); $(this).addClass("red").siblings().removeClass("red"); $(".floor-nav p").each(function(){ $(this).text($(this).index()+1+"F"); }) showWord($(this).index()); }) 我这样写 没有效果 应该怎么写?
    2017-07-25 18:14:20
  • coollin 提问者 #2
    非常感谢!
    2017-07-27 08:45:33
怎么都被占用了呢 2017-07-26 13:56:04

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Document</title>

<style type="text/css">

*{margin:0;padding:0;}

.floor-nav{position: fixed;left: 100px;top:50%;margin-top: -115px;}

.floor-nav p{width:30px;height: 45px;line-height: 45px;text-align:center;border-top: 1px solid gray;color: gray;font-size: 12px;cursor: pointer;}

.floor-nav p:hover{color: red}

</style>

<script src="./jquery-1.12.4.js"></script>

</head>

<body>

   <div class="floor-nav">

        <p>1F</p>

        <p>2F</p>

        <p>3F</p>

        <p>4F</p>

        <p>5F</p>

    </div>

</body>

<script type="text/javascript">

function showWord(floorIndex){

        switch(floorIndex)

        {

            case 0:$('p').eq(0).text("鞋包");break;

            case 1:$('p').eq(1).text("美妆");break;

            case 2:$('p').eq(2).text("手机");break;

            case 3:$('p').eq(3).text("家电");break;

            case 4:$('p').eq(4).text("数码");

        }

    }

    function showFloor(floorIndex){

        switch(floorIndex)

        {

            case 0:$('p').eq(0).text("1F");break;

            case 1:$('p').eq(1).text("2F");break;

            case 2:$('p').eq(2).text("3F");break;

            case 3:$('p').eq(3).text("4F");break;

            case 4:$('p').eq(4).text("5F");

        }

    }

    $(".floor-nav p").hover(function(){

        var index=$(this).index();

        showWord(index)

    },function(){

        if($(this).attr("isChecked")=="true"){

            return;

        }

         var index=$(this).index();

        showFloor(index);

    });

     $(".floor-nav p").click(function(){

          $(".floor-nav p").each(function(){ 

            var index=$(this).index();

            showFloor(index);

        })

          var index=$(this).index();

        showWord(index);

        $(this).attr("isChecked","true")

      })

</script>

</html>


  • 提问者 coollin #1
    老师 $(this).attr("isChecked","true")后面是不是加上.siblings().attr("isChecked","") 不然所有的p标签点击后 isChecked属性都是true了
    2017-07-27 08:50:33
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师