Jump to content

moron

User
  • Posts

    160
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by moron

  1. Что такое внешний и внутренний интерфейсы? :)

    Как это ты что-то там закрыл, если self - всего-лишь ссылка на this? http://jsfiddle.net/bwXLY/

    Или я чего-то не понимаю?

    Так то это так, но! Основной смысл в том, что свойство селф становится в данном случае приватным, т.е его не получить даже из самого экземпляра класса: http://jsfiddle.net/bwXLY/2/ . Он становится как бы "закрытым".

    Только зачем это надо я не понимаю :D

  2. Интроспекция одна из парадигм ООП, но вовсе не самая главная. Возможность закрыть внутреннюю реализацию объекта с помощью приватных методов очень важная возможность, при работе в большой команде или в случаях, когда пишутся инструменты для других разработчиков. Если логика приложения понятна итак, зачем что либо усложнять?

    скажите пожалуйста является ли создание приватного метода такой важной причиной? или приватный метод можно создать, не используя Function Expression?

    Возможно я не совсем до конца понимаю приватные методы, но вот: http://jsfiddle.net/fuvff/

    советуют использовать FD, а не FE

    (переформулировано)

    Да никто не советует, нужно выбирать способ исходя из ситуации и пользоваться преимуществами обоих способов.

    Я не участвовал в крутых суперских прожектах, но мнение таково.(вобщем я чукча-читатель, а не писатель :D ) Хотелось бы услышать более авторитетную позицию.

  3.         this.start = function(){
    console.log(44);
    }

    Есть function declaration, а есть function expreshion. Вобщем в следующих объявлениях есть разница:


    // в случае когда ф-ию объявляют следующим образом,
    // мы можем к ней обратиться в любом месте, даже
    // до того, как она объявлена.
    function test(){
    //код
    }
    // а данный случай, позволяет нам обратиться
    // к ф-ии только после того, как интерпретатор
    // дойдет до нее сверху вниз.
    test2 = function(){
    //код
    }

    Советую гениальнейшую статью http://dmitrysoshnikov.com/ecmascript/ru-chapter-5-functions/#deklaratsiya-funktsii-function-declaration .

    • Like 1
  4. Обработайте эту кракозябру встроенной функцие decodeURI(arg1).


    var krakozyabra = %D0%A1%D0%B0%D0%BC%D0%B0%D1%8F%20%D0%BA%D0%BB%D1%91%D0%B2%D0%B0%D1%8F%20%D0%BA%
    D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B0;
    decodeURI(krakozyabra);

    Когда на сервер передаются через аякс гетом какие-то переменные содержащие русские символы или знаки их принято кодировать encodeURI. Так же надо уделять данным крагозябрам при валидации форм: с помощью их можно ставить пробелы(%20) или кавчки - уязвимость для скл запросов.

    Посмотрим википедию( http://ru.wikipedia.org/wiki/URI ):

    URL стал фундаментальным нововведением в Интернете, поэтому принципы URI документально закреплялись так, чтобы обеспечить полную совместимость с URL. Отсюда появился и большой недостаток URI, пришедший как наследство от URL. В URI, как и в URL, можно использовать только ограниченный набор латинских символов и знаков препинания (даже меньший, нежели в ASCII). Иными словами, если мы захотим использовать в URI символы кириллицы, или иероглифы, или, скажем, специфические символы французского языка, то нам придётся кодировать URI таким же образом, каким в Википедии кодируются URL с символами Юникода. Например, строка вида:

    http://ru.wikipedia.org/wiki/Кириллица

    кодируется в URL как:

    http://ru.wikipedia.org/wiki/%D0%9A%D0%B8%D1%80%D0%B8%D0%BB%D0%BB%D0%B8%D1%86%D0%B0

    --

    Спасибо за информацию

    Есть такая зелёненькая кнопочка...

  5. Выводит 23112 в браузер. А в базу почему то так записывает 2,3,1,1,2

    Элементы массива обычно разделяются запятыми, реализация jquery .html с этим не согласена, попробуйте использовать метод join('') и уже полученное значение передавать серверным скриптам. У вас arr - массив.

    $('b').click(function(){
    var arr = [];
    var x = $('input:radio[class=server]:checked');
    for(var i = 0; i<x.length; i++){
    arr[i] = $('input:radio[name=dimaz'+i+']:checked').val();
    }
    var stringArr = arr.join(''); // теперь у нас есть строка 23112
    });?

  6. А почему в стиле плохого программирования?

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

    работает на несколько миллисекунд быстрее

    Мой нативный будет в любом случае быстрее ;)

  7. Пройдя по вашем примеру у меня тоже генерировалось событие, если курсор находился на элементе, вне зависимости от того, двигал ли я мышью после закрытия диалогового окна(алерта). Переписав код http://jsfiddle.net/wxJ5M/2/ можно увидеть, что событие работает как надо, похоже во всем виноват алерт в хроме.

    --добавление:

    Клик по элементу считается за движение, поэтому нажимая мы провоцируем(какое слово не уместное наверное) событие, дело не в алерте.(а в клике)

    Так, например, в алерте нажимая кнопку крестик или "ОК",если под ним элемент с событием, мы провоцируем еще один вызов события. Может дело в этом?

  8. iDrugov, ну создадите вы что-то сами, что будет работать как вы предполагаете. Но эти решения могут оказаться дичайшим и некрасивым велосипедом, так что показывая свои творения публике, вы получаете критику, коррекцию и альтернативные пути решения(советы). Советы необходимы для совершенствования.

    Ну если вы гуру тогда можно от советов и отказаться...

  9. Вы меня поставили в тупик:

    1)На скриншоте изображён скругленный квадрат в скругленном квадрате.

    2)Вы сказали, что у вас не получился пункт 1, хотя по скриншоту он получился.

    3)По коду, который вы дали, зеленый круг должен быть обрезан т.к у .krug задан стиль overflow: hidden.

    4)В вашем посте нет вопроса.

    Перед тем как вы создали эту тему вы забыли свой пароль от аккаунта?

  10. затем, что на момент изменения числа на клиенте, оно уже может быть изменено на сервере

    И что? Наша цель состоит в визуальном отображении того, что мы проголосовали. А проголосовали ли на самом деле это задача не нашего скрипта, как и то, сколько вообще голосов и что там твориться на сервере. Достаточно всего-лишь показать "ага, мы засчитали твой голос". Разве я не правильно рассуждаю?

    Автор: вообще я не знаю, что сейчас вам предлагаю, но замените:

    <a href="javascript://" id="golike" onclick="......

    на это:

    <a href="$COMMENTS_URL$" id="golike" onclick=".....

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

    либо переход к комментариям при нажатии "мне нравится" без добавления голоса вообще.

    Как вы делали этот переход? вы меняли тег спан на а? оставляли ли вы при этом атрибут ид?

  12. Объясните мне что за рейтинг у вас вешается на элемент с ид golike.

    Ксс мне ваш не нужен вобщем-то..

    и я непонимаю куда что нужно дописать.

    Добавьте ид к спану, в котором находится число людей которым нравится(там где +0).

    <span id="ILikeIt">+0</span>

    Засуньте куда-нибудь вниз:

    <script type="text/javascript">
    function MoronsHandler(idInput, idVote){
    var inputVote = document.getElementById(idInput);
    var voteVisibly = document.getElementById(idVote);
    var oneVote = 'yes';
    function handler(){
    if(oneVote == 'yes'){
    var count = voteVisibly.innerHTML.slice(1);
    count++;
    voteVisibly.innerHTML = '+'+count;
    oneVote = 'no';
    }else{
    alert('Вы уже голосовали, редиска!!')
    }
    }
    inputVote.addEventListener('click', handler);
    }
    MoronsHandler('rating_1', 'ILikeIt');
    </script>

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

    Ну можно реализовать и это. Надо знать: каким образом генерируются случайные цитаты и как устроена файловая система. Ну или я могу написать дикий бред, который будет брать атрибут href из номера над цитатой и менять location при клике. И в том и в другом случае надо знать, где находится аякс запрос, который обращается к серверному скрипту,увеличивающему счетчик "Мне нравится", чтобы предубедить преждевременную переадресацию. :lol:

    Давайте подождем более умных людей, нежели я.

  13. Вот нашел в интернете, но он не пашет на 100%..

    Что мешает взять книжку и сделать самому?Зачем вы ищете правильные решения, не пытаясь решить самостоятельно?

    Так или иначе вот вам на ссылки сделал,доменные имена только ру и ком, если захотите, легко сможете доделать:

     $stringMor = 'лолооло тут типа текст www.htmlbook.ru/jkjihuh.php/12asdgg=2641 тут  текст http://lololo.com/lolo.php?$get=2345';
    $pattern = '/\w*(http:\/\/|www.)\w*.(ru|com)([^\s]*\b|\B)/';
    $test = preg_replace($pattern, '<a href="\0">\0</a>', $stringMor);
    echo $test;

  14. C помощью ajax запроса

    Зачем огородить лишний запрос, в случае если число уже увеличивается и отдаётся сервером. Можно просто получать содержимое, где находится число и увеличивать на 1, потом вставлять увеличенное число...

    Автору: реализовать, описанное мной выше можно следующим образом:

    У вас есть код такого содержания:

    <a href="javascript://" id="golike" onclick="$.get('/news/0-0-1-100-15-1',function(data) {if($(data).text().indexOf('уже оценивали')>-1) _uWnd.alert('Вы уже оценивали данный материал!','Ошибка',{w:270,h:60,t:8000}); else {_uWnd.alert('Вы успешно оценили!','Успех',{w:270,h:60,t:8000})};});">  <div id="rating_l" align="center">Mне нравится</div></a></div></td><td rowspan="1"><img src="/diz/serdce.png" alt="" style="margin-top: 1px; margin-bottom: 1px; margin-left: 1px; margin-right: 1px"></td><td rowspan="1" align="left" style="text-align: left; letter-spacing: 0px; word-spacing: 0px; vertical-align: middle; padding-left: 1px; padding-right: 1px; padding-top: 1px; padding-bottom: 1px; background-image: none; background-repeat: repeat; background-position: 0% 0%"> <span style="font-size: 12pt"><span style="font-size: 10pt"><span>+0</span>

    Начет жс кода - я не представляю что он делает, но однозначно связан с каким-то рейтингом. Рейтинг один же? "Мне нравится"?

    Элемент span, который выступает в качестве кнопки "Мне нравится" имеет ид rating_1,мы получим этот элемент.

    Элемент который содержит количество людей, которым нравится не имеет ид, поэтому поставьте ему ид: <span id="ILikeIt">+0</span>

    Очевидно, что спан-кнопка "Мне нравится" уже имеет обработчик на событии, я не хочу разбираться в куче кода, поэтому мы добавим ему еще один обработчик, делать мы это будем с помощью AddEventListener во избежание конфликта.

    Код, мы предполагаем, что вы дали ид спан-кнопке:

    function MoronsHandler(idInput, idVote){
    var inputVote = document.getElementById(idInput);
    var voteVisibly = document.getElementById(idVote);
    var oneVote = 'yes';
    function handler(){
    if(oneVote == 'yes'){
    var count = voteVisibly.innerHTML.slice(1);
    count++;
    voteVisibly.innerHTML = '+'+count;
    oneVote = 'no';
    }else{
    alert('Вы уже голосовали, редиска!!')
    }
    }
    inputVote.addEventListener('click', handler);
    }
    MoronsHandler('rating_1', 'ILikeIt');

    http://jsfiddle.net/vfcKb/

    п.с верстка показалась мне ужасной.

    --спустя 1мин:

    Ие ранее 9 версии код не поймет, мне просто впадлу сделать по-нормальному :D

    --спустя 2мин:

    Можно конечно доработать серверный скрипт, так что бы он делал еще один запрос к бд и возвращал значение, но зачем нагружать сервер.

    При перезагрузке страницы, можно будет снова визуально увеличить рейтинг на+1, но только визуально.

  15. У меня оно не работает почему-то.

    http://jsfiddle.net/4whnq/3/ - исправил.

    У тебя только половина кода выполняет полезные действия, остальная - обслуживающая.

    Я сомневаюсь, что там можно хоть что-то упростить: каждая строчка либо важная проверка, либо генерация объекта.

    --

    ну я вобщем и не спорю, что-то намудрил...

  16. Вот такие вот штуки не люблю в коде var i4 = i2; (

    Назвав код индусским я предупредил, что код довольно ужасен :) i4=i2 было сделано для того, чтобы инкрементировать переменную внутри рекурсивной функции, не трогая при этом i2. that = this - передача ссылки на объект в функцию. Да и по логике там функция не правильно размещена: она внутри цикла, т.е инициализируется несколько раз, что вроде как плохо.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy