jquery基于canvas画布滚动3D图片展示特效代码

所属分类: 网页特效-图片特效&上传    2023-10-23 11:43:33

jquery基于canvas画布滚动3D图片展示特效代码 ie兼容6
 查看演示  登录后下载 温馨提示
登录会员即可享受免费下载
 我要建站

jquery基于canvas画布滚动3D图片展示特效代码(共40个文件)

    • index.html

使用方法

(function ($) {
  $.fn.frameByFrame = function (canvasValues, canvasOptions) {
    canvasValues = $.extend([], canvasValues);
    canvasOptions = $.extend({}, canvasOptions);

    return this.each(function () {
      var self = $(this);

      var canvasValues1 = canvasValues[0],
        canvasValues2 = canvasValues[1];

      var ctx = self.get(0).getContext("2d"),
        canvasWidth = canvasOptions["canvasWidth"],
        canvasHeight = canvasOptions["canvasHeight"];

      var currentFrame = function (index) {
        return (
          canvasOptions["canvasImagesPath"] +
          "" +
          index +
          "" +
          canvasOptions["canvasImagesFormat"]
        );
      };
      var preloadImages = function () {
        for (var i = 1; i <= canvasOptions["frameCount"]; i++) { var img = new Image(); img.src = currentFrame(i); } }; var newImg = new Image(); newImg.src = currentFrame(1); ctx.canvas.width = canvasWidth; ctx.canvas.height = canvasHeight; newImg.onload = function () { ctx.drawImage(newImg, 0, 0, canvasWidth, canvasHeight); }; var updateImage = function (index) { newImg.src = currentFrame(index); ctx.drawImage(newImg, 0, 0, canvasWidth, canvasHeight); }; if (canvasOptions["anchor"]) { var elTop = window.pageYOffset + $(canvasOptions["anchor"]).get(0).getBoundingClientRect().top; } $(window).on("scroll load resize", function () { var i = 0; var frameNum = 0; canvasValues1.forEach(function (value) { if (canvasOptions["anchor"]) { value += elTop; } if (value < window.pageYOffset) { i++; var y = i - 1; if (canvasOptions["anchor"]) { frameNum = canvasValues2[y] * (1 - (window.pageYOffset - elTop - canvasValues1[y]) / (canvasValues1[i] - canvasValues1[y])) + (canvasValues2[i] * (window.pageYOffset - elTop - canvasValues1[y])) / (canvasValues1[i] - canvasValues1[y]); } else { frameNum = canvasValues2[y] * (1 - (window.pageYOffset - canvasValues1[y]) / (canvasValues1[i] - canvasValues1[y])) + (canvasValues2[i] * (window.pageYOffset - canvasValues1[y])) / (canvasValues1[i] - canvasValues1[y]); } } if (i <= 0) { frameNum = canvasValues2[0]; } if (i >= canvasValues1.length) {
            frameNum = canvasValues2[canvasValues1.length - 1];
          }
        });

        frameNum = Math.round(frameNum);

        preloadImages();
        requestAnimationFrame(function () {
          updateImage(frameNum);
        });
      });
    });
  };
})(jQuery);

站长提示:
1. 苦力吧素材官方QQ群:950875342
2. 平台上所有素材资源,需注册登录会员方能正常下载。
3. 会员用户积极反馈网站、素材资源BUG或错误问题,每次奖励2K币
4. PHP源码类素材,如需协助安装调试,或你有二次开发需求,可联系苦力吧客服。
5. 付费素材资源,需充值后方能下载,如有任何疑问可直接联系苦力吧客服
相关资源 / 图片特效&上传

jquery响应式带动画效果图片轮播切换焦点图代码

切换图片后有图片偏移动画特效,兼容各种分辨率显示器,很实用!
  图片特效&上传
 5755  0

原生jsCSS3拖动平移放大/缩小图片插件

一款老虎头缩放特效,支持鼠标拖动图片,非常不错的功能。
  图片特效&上传
 81402  0

jquery响应式图片弹出层轮播切换特效

一款h5布局的幻灯片代码,切换图片带水平条状进度动画,很好看!
  图片特效&上传
 7929  0

jquery轻量级图片放大缩小插件

一款图片局部位置放大特效,鼠标hover悬停于图片中,右侧显示当前细节放大图片。
  图片特效&上传
 2913  0

评论数(0) 回复有机会获得K币 用户协议

^_^ 还没有人评论,快来抢个沙发!
😀
  • 😀
  • 😊
  • 😂
  • 😍
  • 😑
  • 😷
  • 😵
  • 😛
  • 😣
  • 😱
  • 😋
  • 😎
  • 😵
  • 😕
  • 😶
  • 😚
  • 😜
  • 😭
发表评论