zoukankan      html  css  js  c++  java
  • 仿锤子手机官网banner幻灯效果 Jquery插件

    github地址:https://github.com/MakeMoneyMan/hammer_banner  (求给小星星)

    本来想直接推到首页的,结果有150字限制,好吧那就简单说说思路。

    根据观察

      1、鼠标距离中心点越远,变化幅度越大。

      2、每个banner中的元素变化幅度不一致。(可以推断出,每个元素之间的距离不一样。)(这句是废话,3D效果就是从这里来的。。。)

    实现思路

      调整每个元素的 translateZ 属性,使之形成“距离”。

      转动父元素。

    有了思路就好弄了,直接贴上代码。

    $.fn.hammer_banner = function () {
    
      var self = this;
    
      //创建遮罩层
      var hammerLayout = document.createElement("div");
      this.parent().append(hammerLayout);
      $(hammerLayout).attr("style", " 100%; height: 100%; position: absolute; background: yellow; z-index: 2; opacity: 0;");
    
      //绑定事件
      var stageW = this.width();
      var stageH = this.height();
    
      $(hammerLayout).on("mousemove", function (e) {
        var tmp_1 = ((e.offsetX - stageW/2)/stageW) * 1.05;
        var tmp_2 = ((e.offsetY - stageH/2)/stageH) * -4;
    
        // console.log(tmp_2);
    
        self
          .attr("style", "transform:rotateY("+tmp_1+"deg) rotateX("+ tmp_2 +"deg);");
          $(".warp")
       
      }).on("mouseout", function (e) {
        self
          .attr("style", "transform:rotateY(0deg) rotateX(0deg);");
      });
    
      return this;
    
    }
    

      

    hammer_banner 模仿锤子官网banner图3D效果,JQuery插件。

    效果

    image

    演示地址

    http://jsbin.com/dehuwucifi/edit?output

    使用方法

    $(".warp").hammer_banner();
    
  • 相关阅读:
    一般性能指标
    Spring之AOP框架
    关于电子商务网站
    超级省代码的TAB选项卡
    sql递归
    程序员必备工具,程序员专用工具,程序员专用搜索
    类拟google那样的图片载入
    创建脚本编辑器
    Ancher常用的三种三栏网页宽度自适应布局方法
    js日期加天数
  • 原文地址:https://www.cnblogs.com/jh1994/p/6101980.html
Copyright © 2011-2022 走看看