如何使脚本适应视差

时间:2016-09-02 22:09:43

标签: javascript jquery parallax

我有以下脚本

$(document).ready(function() {
  window.onresize = resize;
  var sizes = [2880, 1920, 1000, 600];

  function resize() {
    //console.log('si');
    var img = $('img.resizable');
    var width = $(window).innerWidth();
    img.each(function(index, element) {
      var name = element.src.split('/');
      name = name[name.length - 1];
      var setto = 0;
      for (var i = sizes.length; i >= 0; i--) {
        //console.log(i,width,setto, sizes[i]);
        if (width <= sizes[i]) {
          setto = sizes[i];
          break;
        }
      }
      setto = width >= sizes[0] ? sizes[0] : setto;
      $(element).attr('src', 'images/' + setto + '/' + name);
    });
  }
  resize();
});

适用于IMG代码:<img src="images/August-Vision-Night.png" class="resizable" alt=""/>

我正在尝试使其适应视差背景图像。它不需要更改src,而是需要更改data-image-src

<div id="contentsection_1_container" class="parallax-window parallax-resizable" data-parallax="scroll" data-image-src="images/texture-clouds.png">

我尝试了以下代码;然而,它根本不起作用。我是新手,所以我不知道如何实际修复脚本。

$(document).ready(function() {
  window.onresize = resize;
  var sizes = [2880, 1920, 1000, 600];

  function resize() {
    //console.log('si');
    var img = $('.parallax-resizable');
    var width = $(window).innerWidth();
    img.each(function(index, element) {
      var name = element.data-image-src.split('/');
      name = name[name.length - 1];
      var setto = 0;
      for (var i = sizes.length; i >= 0; i--) {
        //console.log(i,width,setto, sizes[i]);
        if (width <= sizes[i]) {
          setto = sizes[i];
          break;
        }
      }
      setto = width >= sizes[0] ? sizes[0] : setto;
      $(element).attr('data-image-src', 'images/' + setto + '/' + name);
    });
  }
  resize();
});

0 个答案:

没有答案