2010-08-27 4 views
0

Как вы передаете элементы функции jQuery «ready()» в Joomla?Функция загрузки страницы Joomla

$(document).ready(function(){ 
    // some code... 
}); 

Я уже использую эту функцию и большинство элементов в ней будут статическими (не будет меняться в зависимости от модулей и т.д.). Однако в некоторых случаях мне нужно «ввести» дополнительный код в эту функцию.

В частности, у меня есть пользовательская функция JS, которая устанавливает фоновое изображение такого элемента, и это называется в этой функции, например:

// Set background of element with ID and image path. 
setBackgroundImage("img-2","global/img/rotator/ourstate.jpg"); 

Это будет в модуле. Как передать это в функцию jQuery ready() в Joomla? Благодарю.

+0

Эта статья помогает: http://www.learningjquery.com/2006/09/multiple-document-ready У вас может быть несколько функций $ (document) .ready() на странице; Я думал, тебе нужно было все это по одному. Поэтому я просто добавлю необходимый код в PHP. – Alex

+0

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

ответ

2

Нет параметров для ready.

Что вам нужно сделать, так это установить значение для некоторого скрытого элемента ввода (с известным идентификатором) в вашем модуле. Модуль должен сгенерировать JS и добавить его в элемент head. В JS-коде получите значение скрытого поля и сделайте то, что вам нужно сделать.

Например:

--- МОДУЛЬ (ОБРАЗЕЦ)
....code before...

<!-- Un-submittable form ---> 
<form action="#" method="post" onsubmit="return false;"> 
    <input type="hidden" id="myBgImg" value="<?php echo 'image.jpg'; ?>" /> 
</form> 


<?php 
    $js = ' 
      $(document).ready(function() { 
       // Get Image 
       var img = $("#myBgImg").value; 
       if (img != ""){ 
        // Set background of element with ID and image path. 
        setBackgroundImage("img-2","global/img/rotator/" + img); 
       } 
      });'; 

    JFactory::getDocument()->addScriptDeclaration($js); 
?> 

....code after...

Я вижу, что вы хотите использовать ротатор, так что я предполагаю, что вы хотели бы загружать несколько изображений и изменять их с течением времени .... Вы можете установить значение myBgImg в json закодированный список [в методе использования json_encode() php use) и декодировать его с помощью JQuery http://api.jquery.com/jQuery.parseJSON/

+0

есть ли какая-нибудь точка в ' '? – RobertPitt

+1

* есть ли какая-либо точка в * Ну это зависит, если вы хотите, чтобы ваше значение, чтобы быть статическим, то нет, но если вы хотите быть настраиваемая опция (параметр приводится), то ДА - mod_mymodule.xml <парам имя =» bgImage "type =" list "default =" nature.jpg "label =" BG Image "> - mod_mymodule.php <входной тип = "скрытый" идентификатор = значение "myBgImg" = " get ('bgImage', 'default.jpg'); ?> "/> – Alex

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