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实现的img标签背景图片属性特效代码

这是一款img标签图片缩放和定位特效代码,就跟使用CSS背景图片属性在容器元素中填充和居中背景图片一样简单。
  图片特效&上传
 1307  0

javascript支持自定义文件上传插件

用户可上传指定大小且指定后缀名的文件,点选本地电脑文件后带图片预览效果。当上传的文件超过设置的大小限制,会显示相应的错误消息。
  图片特效&上传
 3306  0

VanillaJS实现的两张图片比对滑块特效代码

通过拖动滑块的交互方式比较两张图片,主要功能包括根据滑块的位置动态更改当前背景图片的宽度,提供无缝的图片比较体验,非常的有创意。
  图片特效&上传
 6229  0

javascript实现的响应式轮播图

一款支持手机端和电脑端的图片轮播特效,web端左右箭头切换,支持移动端触屏滑动切换。
  图片特效&上传
 949  0

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

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