Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 具有不同悬停和单击状态图像的锚定/图像_Jquery_Html_Css - Fatal编程技术网

Jquery 具有不同悬停和单击状态图像的锚定/图像

Jquery 具有不同悬停和单击状态图像的锚定/图像,jquery,html,css,Jquery,Html,Css,由于我以前没有这样做过,所以对如何做有点困惑,但我有3张图片: 一个图像作为默认状态:1.png,第二个图像作为悬停状态:2.png,单击链接/图像时的第三个图像:3.png 如何设置这3个图像?您可以通过css类来实现这一点。 例如: <div class="image"></div> <style type="text/css"> .image { background: url(1.png) no-repeat top lef

由于我以前没有这样做过,所以对如何做有点困惑,但我有3张图片:

一个图像作为默认状态:1.png,第二个图像作为悬停状态:2.png,单击链接/图像时的第三个图像:3.png


如何设置这3个图像?

您可以通过css类来实现这一点。 例如:

<div class="image"></div>

<style type="text/css">   
    .image {
      background: url(1.png) no-repeat top left;
    }
    .image:hover {
      background: url(2.png) no-repeat top left;
    }
    .image:active {
      background: url(3.png) no-repeat top left;
    }
</style>

.形象{
背景:url(1.png)不重复左上角;
}
.图片:悬停{
背景:url(2.png)不重复左上角;
}
.图像:活动{
背景:url(3.png)不重复左上角;
}

您可以通过css类实现这一点。 例如:

<div class="image"></div>

<style type="text/css">   
    .image {
      background: url(1.png) no-repeat top left;
    }
    .image:hover {
      background: url(2.png) no-repeat top left;
    }
    .image:active {
      background: url(3.png) no-repeat top left;
    }
</style>

.形象{
背景:url(1.png)不重复左上角;
}
.图片:悬停{
背景:url(2.png)不重复左上角;
}
.图像:活动{
背景:url(3.png)不重复左上角;
}

您可以将它们设置为三个不同的图像,并通过css控制它们,如下所述

#my-image {
    background: url("/1.png");
}

#my-image:hover {
    background: url("/2.png");
}

#my-image:active {
    background: url("/3.png");
}

但是一种常用的技术是css精灵。您可以将这3个图像组合成一个图像。假设每个图像都是100x100px,那么你制作的图像是100x300px。然后控制
背景位置
。这消除了用户缺乏响应性的问题,并且在服务器上更容易操作。

您可以将它们设置为三个不同的图像,并通过css进行控制,如下所述

#my-image {
    background: url("/1.png");
}

#my-image:hover {
    background: url("/2.png");
}

#my-image:active {
    background: url("/3.png");
}

但是一种常用的技术是css精灵。您可以将这3个图像组合成一个图像。假设每个图像都是100x100px,那么你制作的图像是100x300px。然后控制
背景位置
。这消除了用户缺乏响应能力的问题,并且在服务器上更容易操作。

以上两种解决方案无法正常工作,因为对于a:活动映像不会永久更改。您必须使用jquery进行此操作,并且每个人都要这样做:

                <html>
                 <head>
                  <script type="text/javascript" src="jquery-1.7.1.min.js"></script>
                  <script type="text/javascript">
                      $(document).ready(function(){
                        $("#my_link").hover(function(){
                          $(this).removeClass("class_1").addClass("class_2");
                          },function(){
                          $(this).removeClass("class_2").addClass("class_1"); 
                       });

                   $("#my_link").click(function(){
                        $(this).removeClass("class_1").addClass("class_3");
                   });
              });

             </script> 
             <style type="text/css">
                .class_1{background: url("/1.png") no-repeat top left;}
                .class_2{background: url("/2.png") no-repeat top left;}
                .class_3{background: url("/3.png") no-repeat top left;}  
             </style>
         </head>
         <body>
              <a id="my_link" class="class_1" href="#" >Click here</a>
         </body>
       </html>

$(文档).ready(函数(){
$(“#我的链接”)。悬停(函数(){
$(this).removeClass(“class_1”).addClass(“class_2”);
},函数(){
$(this).removeClass(“class_2”).addClass(“class_1”);
});
$(“#我的链接”)。单击(函数(){
$(this).removeClass(“class_1”).addClass(“class_3”);
});
});
.class_1{背景:url(“/1.png”)不重复左上角;}
.class_2{背景:url(“/2.png”)不重复左上角;}
.class_3{背景:url(“/3.png”)不重复左上角;}

这对我来说很好。我希望它能起作用

以上两种解决方案无法正常工作,因为对于a:active,映像不会永久更改。您必须使用jquery来执行此操作,并且每个人都要执行此操作:

                <html>
                 <head>
                  <script type="text/javascript" src="jquery-1.7.1.min.js"></script>
                  <script type="text/javascript">
                      $(document).ready(function(){
                        $("#my_link").hover(function(){
                          $(this).removeClass("class_1").addClass("class_2");
                          },function(){
                          $(this).removeClass("class_2").addClass("class_1"); 
                       });

                   $("#my_link").click(function(){
                        $(this).removeClass("class_1").addClass("class_3");
                   });
              });

             </script> 
             <style type="text/css">
                .class_1{background: url("/1.png") no-repeat top left;}
                .class_2{background: url("/2.png") no-repeat top left;}
                .class_3{background: url("/3.png") no-repeat top left;}  
             </style>
         </head>
         <body>
              <a id="my_link" class="class_1" href="#" >Click here</a>
         </body>
       </html>

$(文档).ready(函数(){
$(“#我的链接”)。悬停(函数(){
$(this).removeClass(“class_1”).addClass(“class_2”);
},函数(){
$(this).removeClass(“class_2”).addClass(“class_1”);
});
$(“#我的链接”)。单击(函数(){
$(this).removeClass(“class_1”).addClass(“class_3”);
});
});
.class_1{背景:url(“/1.png”)不重复左上角;}
.class_2{背景:url(“/2.png”)不重复左上角;}
.class_3{背景:url(“/3.png”)不重复左上角;}

这对我来说很好。我希望它能起作用

谢谢,很高兴在这里遇到好朋友;)谢谢,很高兴在这里遇到好朋友;)