2016-11-10 153 views
0

我有一个显示一个随机图像这个小脚本,它是回声ALT属性:随机图像

<img src="<?php echo bloginfo('template_url');?>/img/members/00<?php $random = rand(1,7); echo $random; ?>.jpg"alt="[ Random Image ]"> 

这使得在脚本中的图片src src="example.com/images/001.jpg" alt="[ Random Image ]">(1,7)增加的数图片001.jpg007.jpg

现在我想要将"[ Random Image ]"更改为"$my_alt"并让它在<h2 class="myAlt">...</h2>标记中显示(回显)图像的alt属性。

我不是一个编码器,所以我真的不知道该怎么做。我相信我首先需要给my_alt一个价值。因此,我将通过去:

if {image src="example.com/images/001.jpg" $my_alt = "My first Alt"} else if {image src="example.com/images/002.jpg" $my_alt = "My second Alt"}

,然后我想要的ALT值放置添加代码: <h2 class="myAlt"><?php echo $my_alt(); ?></h2>

我这样做是正确的,这是正确的方式走?就像我说的,我不擅长编码,所以谢谢你的帮助。

回答

1

我收到了你的问题。试试这个,看看它的工作原理:

<!-- I am gonna make a sample template so that you may understand how to use my solution for your specific issue --> 
<div class="imageContainer"> 
    <img src="something" alt="Image1" /> 
    <h2 class="myAlt"></h2> 
</div> 
<div class="imageContainer"> 
    <img src="something" alt="Image2" /> 
    <h2 class="myAlt"></h2> 
</div> 
<div class="imageContainer"> 
    <img src="something" alt="Image3" /> 
    <h2 class="myAlt"></h2> 
</div> 
<div class="imageContainer"> 
    <img src="something" alt="Image4" /> 
    <h2 class="myAlt"></h2> 
</div> 

<script> 
$('.imageContainer').each(function(){ 
    $(this).find('.myAlt').html($(this).find('img').attr('alt')); 
}); 
</script> 

它会显示每个图像下方的相应alt

特定两幅图像

// giving alt dynimically 
    $('img').each(function(){ 
     if($(this).attr('src')==='image 001.jpg'){ 
      $(this).attr('alt','person x'); 
     } 
     else if($(this).attr('src')==='image 002.jpg'){ 
      $(this).attr('alt','person y'); 
     } 
    }); 

它只是一个想法,你需要对其进行修改以满足您的特定问题。祝你好运。 我希望它有帮助

+0

谢谢!图像显示一个人的脸。我想在'H2'标签下的图像下添加名称(我猜测使用ALT是最好的选择)。我希望清除一些东西... – Steggie

+0

我更新了答案,我希望你可以使用它为你的condition.Try并告诉我,如果它的任何问题。 – Learner

+0

这每次刷新时都会显示一张随机图像? – Steggie

0

我将创建与所有图像及其ALT秒的阵列,然后选择其中之一,并显示它:

<?php 
$images = [ 
    ['file' => '001.jpg', 'alt' => 'My first alt'], 
    ['file' => '002.jpg', 'alt' => 'My second alt'], 
    ['file' => '003.jpg', 'alt' => 'My third alt'], 
    # add more files below 
]; 
$rand = mt_rand(0, count($images) - 1); 
?><img src="<?php echo bloginfo('template_url');?>/img/members/<?php echo $images[$rand]['file']; ?>" alt="<?php echo $images[$rand]['alt']; ?>"> 
+0

感谢您的快速回复,但您确定此代码是正确的吗?如果我将它添加到我的页面中,它会中断(空白屏幕...) – Steggie

+0

@Steggie:现在就试试,我在代码中添加了缺少的分号。如果您运行的是旧版本的PHP(5.3或更高版本),则可能会出现问题,因为这些版本不支持短阵列语法。 –

+0

仍然变黑屏。我可以把这个代码放在任何地方?即使我在我的页脚中加载我的jQuery。这对PHP应该很重要,对吧?我查了一下,我的服务器运行的是PHP版本5.3.29。我不能改变这个...我的托管服务提供商不这样做......这是一个真正的问题? – Steggie