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带TAB切换的图片列表左右滚动特效

一款产品图片列表滚动特效,每个tab选项卡菜单下的图片列表,都可通过点击左右箭头按钮滚动。
  图片特效&上传
 297  0

jquery鼠标悬停图片自动向右平移动画特效

一款平滑的悬停动画效果,鼠标悬停在图片上,触发图片自动向右侧平移动画。
  图片特效&上传
 691  0

jquery响应式图片放大弹出层插件

鼠标悬停在图片上,鼠标指针变为放大镜图标,点击即可放大弹出图片。
  图片特效&上传
 5279  0

不用图片生成CSS3页面纹理背景

一款CSS生成的多种不同的页面纹理背景特效,使用各种CSS来创建不同的图案,如条纹、渐变和虚线设计,非常的指的学习。
  图片特效&上传
 8227  0

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

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