【问题标题】:Setting dynamic css-background image in wordpress post [jQuery]在 wordpress post [jQuery] 中设置动态 css-background 图像
【发布时间】:2013-01-25 19:21:55
【问题描述】:

我有一个基于 wordpress 的网站,我想更改每个帖子的标题图片。由于每个帖子都有自己的“id”,我想制作一个 jquery 函数来读取帖子“id”(例如 id="post-8")并设置一个以相同方式命名的背景图像,所以我只是每次写新帖都要制作一张新图上传,而且不需要修改css。

我对 jquery 的想法非常简单,但是在我兄弟的帮助下,我得到了以下代码:

var txt1 = "post-";
        for (var i=0; i<1000; i++){
        var elementId = txt1.concat(i);
        var postimg1 = "url(../images/";
        var postimg2 = ".jpg)";
        var postimgfull = postimg1 + elementId + postimg2;
        var element =  $("#" + elementId);
        if (element != null) {
            $(".posthead").css('background-image', postimgfull);
        }else {
            break;
        }

但是使用它我没有得到名为“post-8.jpg”的图像,我得到的是一个名为“post-999.jpg”的图像。

你能帮帮我吗?

谢谢小伙伴们!

【问题讨论】:

  • 在 php.ini 中执行此操作似乎更合乎逻辑。至少我会。您可以将 php 放在任何模板文件中,例如 header.php,读取请求的 url 等等。容易。
  • 当然。从特色图像中提取标题图像可能更有意义,这样您在创建帖子时就可以正确地做所有事情。
  • 嗯,我把它放在一个 php 页面中,但我同意,最好在 php 中做。但是我对php一无所知...(我的意思是少于js)。如果你能在这里提供帮助,那就太好了,当然。

标签: jquery css wordpress background-image concatenation


【解决方案1】:

我猜你的代码一切正常,除了应该有

element.css('background-image', postimgfull);

代替

$(".posthead").css('background-image', postimgfull);

应该不错了。

【讨论】:

  • 谢谢伙计!就是这样。这是我的第一个选择,但我没有尝试,因为我想要另一个元素来执行 css 操作,但显然“元素”的东西在这里是绝对必要的:$(element).find('.posthead').css('background-image', postimgfull);
猜你喜欢
  • 1970-01-01
  • 2012-11-13
  • 2012-04-10
  • 1970-01-01
  • 2014-04-24
  • 1970-01-01
  • 2019-04-30
  • 2021-05-17
  • 2011-09-14
相关资源
最近更新 更多