找回密码
 立即注册
搜索
查看: 495|回复: 0

[js/jquery基础] jquery素材积累----图片跟随鼠标移动

  [复制链接]
发表于 2023-2-23 19:50 | 显示全部楼层 |阅读模式

效果图:

2017-02-20_18-34-05.png

代码:

<script>
/* 图片跟随鼠标JS代码 */
(function($){
  $.fn.preview = function(){
    var xOffset = 10;
    var yOffset = 20;
    var w = $(window).width();
    $(this).each(function(){
      $(this).hover(function(e){
        var imgsrc = $(this).attr("img-src");
        var imgalt = $(this).text();
        if(imgsrc.length < 23) return false;
        if(/.png$|.gif$|.jpg$|.bmp$/.test(imgsrc)){
          $("body").append("<div id='preview'><div><img src='"+imgsrc+"' style='max-width:400px' /><p>"+imgalt+"</p></div></div>");
        }else{
          $("body").append("<div id='preview'><div><p>"+imgalt+"</p></div></div>");
        }
        $("#preview").css({
          position:"absolute",
          padding:"4px",
          border:"1px solid #f3f3f3",
          backgroundColor:"#eeeeee",
          top:(e.pageY - yOffset) + "px",
          zIndex:1000
        });
        $("#preview > div").css({
          padding:"5px",
          backgroundColor:"white",
          border:"1px solid #cccccc"
        });
        $("#preview > div > p").css({
          textAlign:"center",
          fontSize:"12px",
          padding:"8px 0 3px",
          margin:"0"
        });
        if(e.pageX < w/2){
          $("#preview").css({
            left: e.pageX + xOffset + "px",
            right: "auto"
          }).fadeIn("fast");
        }else{
          $("#preview").css("right",(w - e.pageX + yOffset) + "px").css("left", "auto").fadeIn("fast");   
        }
      },function(){
        $("#preview").remove();
      }).mousemove(function(e){
        $("#preview").css("top",(e.pageY - xOffset) + "px")
        if(e.pageX < w/2){
          $("#preview").css("left",(e.pageX + yOffset) + "px").css("right","auto");
        }else{
          $("#preview").css("right",(w - e.pageX + yOffset) + "px").css("left","auto");
        }
      });                       
    });
  };
})(jQuery);
 
$("span.preview").preview();
</script>


使用方法:

<span class="preview" img-src="//www.baidu.com/logo.png">素材二</span>

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|学习笔记

GMT+8, 2025-4-3 10:49 , Processed in 0.017576 second(s), 12 queries , APCu On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表