gpt4 book ai didi

php - 在 javascript "if"中错误使用 php?

转载 作者:可可西里 更新时间:2023-11-01 00:35:37 26 4
gpt4 key购买 nike

我正在尝试根据访问者屏幕大小自动切换 wordpress 中的背景图片。如果他/她有大屏幕,他/她会得到图像的大版本。如果屏幕很小,他/她会得到较小的版本。 (只是为了减少加载时间。之后图像将调整大小以填满屏幕,但这已经起作用了。)

不起作用的是检查较小的版本是否存在。如果它不存在,脚本应该回退到更大的版本并只使用那个图像。我得到一张背景图片,但它只是大图片(wordpress 字段名称“BG_value”。小图片的 url 存储在“BG_value-medium”中)。

图像确实存在,通过 wordpress 字段的路径也很好,所以这不是问题。 :/

但是,事不宜迟,我向您展示代码(来自 wordpress 的 header.php)。

<body>
<!-- Wordpress Loop -->
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<script type="text/javascript">
if (($(window).width() < 1340) && (<?php
if(file_exists(bloginfo('template_url').get_post_meta($post->ID, 'BG_value-medium', $single = true))){
echo "true";
}else{
echo "false"; } ?> )){
<?php $bgimg = get_post_meta($post->ID, 'BG_value-medium', $single = true); ?>
} else {
<?php $bgimg = get_post_meta($post->ID, 'BG_value', $single = true); ?>
}
</script>
<div id="bgimage"> <img class="stretch" src="<?php bloginfo('template_url'); ?><?php echo $bgimg; ?>" alt="" /> </div>
<?php endwhile; endif; ?>

如果这看起来有点乱,我很抱歉,过去几个小时我一直在研究它,一遍又一遍地修改它。

知道这里出了什么问题吗? Check out the page

最佳答案

你在这方面有很大的逻辑错误。您想使用 javascript 函数设置 bg 图像,但您从未尝试使用 javascript 设置它,只能使用 php echo。在浏览器中查看此 javascript 片段的源代码,您就会明白我的意思。

您应该将图像路径存储在 thenelse 中的 javascript 变量中,并使用它们来设置背景图像。

未经测试:

<script type="text/javascript">
if (($(window).width() < 1340) && (<?php if(file_exists(bloginfo('template_url').get_post_meta($post->ID, 'BG_value-medium', $single = true)))){
echo "true";
}else{
echo "false"; } ?> )){
var bgimage="<?php echo get_post_meta($post->ID, 'BG_value-medium', $single = true); ?>";
} else {
var bgimage="<?php echo get_post_meta($post->ID, 'BG_value', $single = true); ?>";
}

document.getElementById("bgimageimg").src=bgimage;
</script>

<div id="bgimage"><img id="bgimageimg" class="stretch" src="" alt="" /></div>

关于php - 在 javascript "if"中错误使用 php?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8704073/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com