2014-01-15 3 views
1

У меня есть этот маленький скрипт, где я пытаюсь определить размер окна, чтобы применить предел символов персонажа.JQuery - определить ширину окна

проблема обнаружения не работает. Всегда применяйте предел в 150.

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

Может кто-нибудь помочь мне узнать, что не так с этим скриптом?

вот мой код:

$(function() { 
     $(".block6 p").each(function (i) { 
      len = $(this).text().length; 
      if (len > 10) { 
       if ($(window).width() <= 1280) { 
        $(this).text($(this).text().substr(0, 150) + '...'); 
       } 
       else if ($(window).width() > 1280) { 
        $(this).text($(this).text().substr(0, 10) + '...'); 
       } 
      } 
     }); 
    }); 
+0

Хорошо, вы меняете ширину более чем на 1280? – Krishna

+0

@ Кришна: да, я делаю – user2232273

+0

пишу 'console.log ($ (window) .width())' над условием if. Что это дает вам? jsfiddle нам поможет. – Krishna

ответ

4

Ваш код работает только один раз, на document.ready. Вы должны запустить тест каждый раз изменяет размер окна:

$(window).on('resize',function() { 
     if ($(window).width() <= 1280) { 
      $(".block6 p").each(function (i) { 
       var len = $(this).text().length; 
       if (len > 10) { 
        $(this).text($(this).text().substr(0, 150) + '...'); 
       } 
      }); 
     } else { //if ($(window).width() > 1280) { 
      $(".block6 p").each(function (i) { 
       var len = $(this).text().length; 
       if (len > 10) { 
        $(this).text($(this).text().substr(0, 10) + '...'); 
       } 
      }); 
     } 
    }); 

    $(document).ready(function() { 
     $(window).trigger('resize'); 
    } 

http://jsfiddle.net/mblase75/6PQ4Q/

Тем не менее, у вас есть проблема в том, что вы изменения текста каждого элемента непосредственно, так переключаясь путем изменения размера браузера будет разрушительным. Я предлагаю вместо этого использовать text-overflow: ellipsis.

+0

теперь он ничего не делает ... :( – user2232273

+0

Добавлен триггер. – Blazemonger

+0

... и исправлена ​​синтаксическая ошибка. – Blazemonger

Смежные вопросы