2017-02-09 8 views
-1

私のイメージではありdata-web-srcdata-tablet-srcと私のimgタグではなく、ウェブ上のsrcdata-web-src.lazyloadその後、設定された値の.lazy_resクラスを持っていますが、画面(またはデバイス)がdata-tablet-src値のsrcに設定よりもタブレットがある場合、私はこれをしたい場合はdata-mobil-src私のWebページ上のすべての画像について、私はあなたが私のコードは、あなたがそれらのすべてをループする必要がjqueryでデータ変数を取得および設定する方法は?

$(document).ready(function() { 
 

 
    function noLazyImages(e) { 
 
    var getWebSrc = $(e).attr("data-web-src"); 
 
    var getTabletSrc = $(e).attr("data-tablet-src"); 
 
    var getMobilSrc = $(e).attr("data-mobil-src"); 
 
    if ($(".box img").hasClass("lazy_res")) { 
 

 
     if ($(window).width() > 960) { 
 
     $(e).attr("src", getWebSrc); 
 
     } else if ($(window).width() < 768) { 
 
     $(e).attr("src", getTabletSrc); 
 
     }else if ($(window).width() < 480) { 
 
     $(e).attr("src", getMobilSrc); 
 
     } 
 

 
    } else { 
 
     // do nothing.. 
 
    } 
 

 
    } 
 

 
    noLazyImages(".box img"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="box"> 
 

 
<img class="lazy_res" data-web-src="http://image.prntscr.com/image/bdf1d94b64104ef2acd2ceee19882cd1.jpg" data-mobil-src="http://image.prntscr.com/image/caa51ab4900448589201207e57b2630f.jpg" data-tablet-src="http://image.prntscr.com/image/4b2862a292b543139daa7805a58c17fd.jpg"/> 
 
    
 
    
 
    
 
</div>

+2

チェックhttps://api.jquery.com/data/ – Huangism

+1

を使用してそれを行うことができます取得し、インスタンスを設定しますdは: //attackoverflow.com/a/5309947/3076934 – amansoni211

+1

ああ、.attrを使ってdata- *属性にアクセスするのに間違いはない。 jQueryの.dataを使用するよりもパフォーマンスが優れています。 –

答えて

2

あり、ここで解決策を見つけることができません特定の値

これは、HTTPを助けるかもしれないattr(function)

function noLazyImages(e) { 
    $(e + '.lazy_res').attr('src', function(_, oldSrc) { 
    var elData = $(this).data(), 
     winWidth = $(window).width(); 
    if (winWidth > 960) { 
     return elData['webSrc'] 
    } else if (winWidth < 768 && winWidth >=480) { 
     return elData['tabletSrc'] 
    } else if (winWidth < 480) { 
     return elData['mobilSrc'] 
    } 
    }) 
} 

DEMO

+0

ありがとうございますが、何もチャーン私のコードを申請することはできますか? –

+0

申し込み方法は?機能をオフに切り替えます。 – charlietfl

+0

私は理解していますが、私はうまくいきません。私はちょうど今試しました:) –

関連する問題