2016-09-22 3 views
0

Я пытаюсь изменить изображение src на основе размера экрана.Замена изображения на основе размера экрана с помощью JQuery

 $(document).ready(function() { 
 
\t \t \t \t $(function() { 
 
    \t \t \t \t if($(window).width() < 568) { 
 
    \t \t \t \t $("#crewimage").each(function() { 
 
     \t \t \t \t $(this).attr("src", $(this).attr("src").replace("resources/images/thecrew.png", "resources/images/thecrewmobile.png")); 
 
    \t \t \t \t }); 
 
    \t \t \t \t } else if ($(window).width() >= 568) { 
 
    \t \t \t \t $("#crewimage").each(function() { 
 
     \t \t \t \t $(this).attr("src", $(this).attr("src").replace("resources/images/thecrewmobile.png", "resources/images/thecrew.png")); 
 
    \t \t \t \t }); 
 
\t \t \t \t \t } 
 
\t \t \t \t }); 
 
\t \t \t });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="crew-content"> 
 
\t  <img id="crewimage" src="resources/images/thecrew.png" alt="Header Image"></img> 
 
\t </div>

Моя логика кажется твердым. Я не уверен, почему он не работает.

Спасибо за помощь заранее.

+1

если у вас есть синтаксическая ошибка, почему вы публикуете здесь? – madalinivascu

+0

Я говорю, что это может быть, я, очевидно, не знаю точно, иначе меня бы здесь не было. – DanDaMan

+0

В консоли появится синтаксическая ошибка, знаете ли вы, где находится консоль? – madalinivascu

ответ

1

Вам необходимо использовать функцию resize jquery.

Рабочая Fiddle: https://jsfiddle.net/f0ngoLkq/1/

HTML

<div id="crew-content"> 
    <img id="crewimage" src="http://completewebgraphics.com/wp-content/uploads/2015/11/Mobile-Apps-Development-in-India.jpg" alt="Header Image" /> 
</div> 

JQuery код

$(window).resize(function(e){ 
    if($(window).width() < 568) { 
    console.log($(window).width()); 
    $("#crewimage").each(function() { 
     $(this).attr("src", "http://s3.amazonaws.com/libapps/customers/1633/images/icon_52143.png"); 
       }); 
      } else if ($(window).width() >= 568) { 
       $("#crewimage").each(function() { 
       $(this).attr("src","https://ithemes.com/wp-content/uploads/2012/07/mobile300.png"); 
       });       
    }   
}); 

Надеется, что это помогает!

+0

Спасибо, человек, работает как шарм. :) – DanDaMan

+0

Рад, что он работает! :-) –

0

Не используйте замены:

<img class="crewimage" src="resources/images/thecrew.png" alt="Header Image"></img> 

      $(function() { 
      if($(window).width() < 568) { 
       $(".crewimage").each(function() { 
       $(this).attr("src","resources/images/thecrewmobile.png"); 
       }); 
      } else if ($(window).width() >= 568) { 
       $(".crewimage").each(function() { 
       $(this).attr("src","resources/images/thecrew.png"); 
       }); 
       } 
      }); 

Примечание: изображения будут меняться только при обновлении страницы после изменения размера окна, если вы хотите, чтобы автоматически изменить на изменение размера с помощью resize event

второй изменить идентификаторы для классов, если у вас есть несколько дивы, если у вас есть только один деление с удалить каждый цикл

+0

Это гораздо чище, я должен признаться. Но, к сожалению, он все еще не работает должным образом. – DanDaMan

+0

Что значит правильно? – madalinivascu

+0

Как в, не работает вообще. Не заменяет мой образ. – DanDaMan

0

Используйте окно изменения размера

$(window).resize(function(){ 

    $(function() { 
      if($(window).width() < 568) { 
       $(".crewimage").each(function() { 
       $(this).attr("src","resources/images/thecrewmobile.png"); 
       }); 
       }); 
      } else if ($(window).width() >= 568) { 
       $(".crewimage").each(function() { 
      $(this).attr("src","resources/images/thecrew.png"); 
      }); 
      }); 
}); 
+0

вы можете предоставить действительная причина для размещения документа в заявке на изменение размера? – madalinivascu

+0

Потому что событие изменения размера запускается автоматически. при изменении размера окна. Не нужно обновлять страницу. – Dhaarani