2017-02-02 9 views
0

(내 영어가 잘못되어 죄송합니다.) width이 의 src 속성보다 작 으면 좋겠다. .logo-wrap 컨테이너의 이미지는 #이되었습니다. 너비가 더 크면 src attr이 "원본"으로 반환됩니다. 코드의 첫 번째 부분은 작동하지만 창을 축소 한 다음 src 특성이 더 커지면 # ...너비가 작 으면 jQuery가 변경됩니다. src attr을 변경하고 이전에 사용했습니다.

제안 사항? 당신은 그냥 속성을 변경하지 않는 것 같습니다 사전

var $window = $(window); 

function checkWidth() { 
    var windowsize = $window.width(); 
    if (windowsize < 601) { 
     $(".logo-wrap img").attr("src","#"); 
    } 
    else {} 
} 
// Execute on load 
checkWidth(); 
// Bind event listener 
$(window).resize(checkWidth); 
+0

[media queries] (https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries)를 사용할 수 있습니다. – gaetanoM

답변

2
var $window = $(window); 

// creates an attribute called data-content for each image and stores it's src 
$(".logo-wrap img").each(function() { 
    $(this).data('data-content', $(this).attr('src')); 
}); 

function checkWidth() { 
    var windowsize = $window.width(); 
    if (windowsize < 601) { 
     $(".logo-wrap img").attr("src","#"); 
    } 
    else { 
     // changes each image's src to the link stored in data-content attribute 
     $(".logo-wrap img").each(function() { 
     $(this).attr("src", $(this).data('data-content')); 
     }); 
    } 
} 
// Execute on load 
checkWidth(); 
// Bind event listener 
$(window).resize(checkWidth); 

편집 : JSFiddle을 추가했습니다.

+0

Thanks! 나는 그렇게하려고 노력하고 싶었지만 어쨌든 "#"찍은 변수를 지워서 생각했습니다. 고마워요! – Sieen

+0

문제 없습니다. 속성을 변경하기 전에 저장하는 한 속성은 원래대로 유지됩니다. 모든 것이 잘 작동하면 답을 받아 들일 수 있습니다. –

+0

불행히도 잘 보니 문제가 발생한다는 것을 알았습니다 ... 이미지가있는'.Logo-wrap' 컨테이너가 더 있습니다. 그래서 스크립트를 크게 만들면 첫번째 이미지의 src 속성을 다른 이미지들 모두에 복사합니다 : -/당신에게 제안 해 주시겠습니까? – Sieen

0

에 감사,

function checkWidth() { 
    var windowsize = $window.width(); 
    if (windowsize < 601) { 
     $(".logo-wrap img, .lab-ah img").attr("src","#"); 
    } 
    else if (windowsize >= 601) { 
     $(".logo-wrap img, .lab-ah img").attr("src","original"); 
    } 
} 

나는 내가 제대로 질문을 이해 바랍니다