Перевести формат Javascript в формат CakePHP - PullRequest
0 голосов
/ 13 июня 2011

Это пример кода jQuery UI:

 <script type="text/javascript">
  //function to execute when doc ready
  $(function() {

    //make tooltip on mouseover
    $("#container a").mouseover(function(e) {

      //create tooltip
      $("<div>").text($(this).attr("title")).addClass("tooltip ui-widget-header ui-corner-all").css({left:e.pageX, top:(e.pageY - 40)}).appendTo($("body"));

      //set timeout to show tooltip
      tip = setTimeout("$('.tooltip').show('drop', { direction:'up' }); ", 750);

      //suppress title
      $(this).attr("title", "");

    });

    //make tip track with pointer
    $("#container a").mousemove(function(e) {
      $(".tooltip").css({'left':e.pageX, 'top':e.pageY - 35});
    });

    //remove tooltip on mouseout
    $("#container a").mouseout(function(e) {

      clearTimeout(tip);

      //put title text back
      $("#" + e.target.id).attr("title", $(".tooltip").text());

      //hide and remove tooltip
      $(".tooltip").remove();
    });
  });
</script>



    <script type="text/javascript">
  //define function to be executed on document ready
  $(function(){

    //create the tabs
    $("#myTabs").tabs();

    //define handler for change event on select element
    $("#fileChooser").change(function() {

      //load either file 1 or file 2
      this.selectedIndex == 0 ? loadFile1() : loadFile2();

      //load the new file
      function loadFile1() {
        $("#myTabs").tabs("url", 2, "tabContent.html").tabs("load", 2);
      }

      function loadFile2() {
        $("#myTabs").tabs("url", 2, "tabContent2.html").tabs("load", 2);
      }
    });
  });

</script>

Если я конвертирую в формат CakePHP.Не могли бы вы привести пример?Я пытаюсь прочитать руководство пользователя CakePHP, но не понимаю.

Спасибо.

1 Ответ

3 голосов
/ 13 июня 2011

Не беспокойся.

Cake 1.3. JsHelper - это просто помощник , предназначенный для аннотации самого распространенного и повторяющегося кода - разбиение на страницы ajax, загрузка простых элементов, анимация, соответствующая навигационным элементам, такого рода вещь. Библиотека, как она поставляется, универсальна для 3 самых популярных библиотек javascript - jQuery, MooTools и Prototype (по умолчанию jQuery и может быть изменена в контроллере), так что разработчик может выбрать любой вкус, который он предпочитает, использовать несколько библиотек и т. Д. Поскольку абстракции охватывают только наиболее распространенные поведенческие библиотеки, которые есть в большинстве случаев, есть очень хороший шанс, что все, что вы захотите использовать, будет соответствовать небольшим усилиям.

Для того, что он делает, это довольно блестяще - это в основном СУХОЙ вызов и избавляет от тяжелой работы. Тем не менее, это уровень абстракции. Он не заменяет сценарии на стороне клиента, особенно для чего-либо удаленно сложного. Я бы посоветовал не тратить много времени на создание пользовательских функций, поскольку любые проблемы, возникающие в сгенерированном коде, гораздо сложнее отлаживать, не говоря уже об исправлении; все, что Cake делает, это пишет код для включения в разметку в любом случае.

Просто напишите исходный код на стороне клиента и включите его в свои $ this-> Html-> scripts () или в буфер и выполните его. Это гораздо надежнее, предсказуемее и управляемее.

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