javascript - Joomla页面加载功能

标签 javascript jquery joomla

如何将项目传递给 Joomla 中的 jQuery 函数“ready()”?

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

我已经在使用这个函数,其中的大多数项目都是静态的(不会根据模块等而改变)。但是,在某些情况下,我需要向此函数“注入(inject)”额外的代码。

特别是,我有一个自定义 JS 函数,用于设置元素的背景图像,并在此函数中调用它,如下所示:

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

这将位于一个模块中。如何将其传递到 Joomla 中的 jQuery Ready() 函数中?谢谢。

最佳答案

没有就绪参数。

您需要做的是为模块中的某些隐藏输入元素(具有已知 ID)设置值。您的模块应该生成 JS 并将其添加到 head 元素。在JS代码中,获取隐藏字段的值并执行您需要执行的操作。

例如:

--- 模块(模板)
....之前的代码...

<!-- 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);
?>

....之后的代码...

我看到你想使用旋转器,所以我假设你想加载多个图像并随着时间的推移更改它们......你可以将 myBgImg 值设置为 json 编码列表 [在 php 中使用 json_encode() 方法] 并使用 JQuery 对其进行解码 http://api.jquery.com/jQuery.parseJSON/

关于javascript - Joomla页面加载功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3586488/

相关文章:

javascript - 如何将类型 ="datetime-local"转换为 H :i:s

asp.net-mvc - 如何保持 MVC JQuery Ajax POST 干燥?

css - 用作页面向下滚动的箭头链接

javascript - 单击和克隆时间选择器无法工作

javascript - 关闭弹出窗口时暂停当前视频

mysql_num_rows() 期望参数 1 是资源,joomla 组件中的 bool 值

php - 如何将基于 PHP 的网站迁移到 Joomla?

javascript - 如何在图片的两个区域悬停?

javascript - 如何使用 Javascript 验证表单中的多个字段?

javascript - 如何在 chrome 扩展开发中获取选定的文本?